回覆列表
  • 1 # 小馬哥

    安裝requirejs requirejs官方提供了一個可用於node的介面卡 r.js 。有兩種方法可以在專案裡面加入此庫。

    1. npm 在具體專案目錄下使用如下命令來引入requirejs: npm install requirejswindows環境下安裝需要注意不要加上 -g 全域性開關,否則不能正常安裝。 安裝完成後,可使用 require("requirejs") 來載入requirejs。

    2. 下載r.js 如果不想使用npm,也可以直接下載r.js,並把它放到專案中達到同樣的目的。 點選下載。在專案中透過 require("/path/to/r.js") 來載入requirejs。 配置 配置requirejs var requirejs=require("requirejs");requirejs.config({ //把node自身的require方法傳遞給requirejs nodeRequire: require});requirejs(["foo","bar"],function(foo,bar){});在需要使用requirejs的地方可以用上面的程式碼來配置requirejs。首先載入requirejs模組,命名為 requirejs (可以為其他命名)。然後對 requirejs 進行配置。配置的方法和引數可以參照瀏覽器版本的requirejs的 配置說明 。不過有一點不同,如程式碼所示,我們需要把node的 require 方法引進來。最後一行是簡單地載入模組的示例,requirejs會嘗試把 foo 和 bar 兩個模組當成AMD模組來載入,如果失敗,則會呼叫node的 requie 方法來把它們當作commonjs模組載入。為了實現這樣的適應性,所以我們需要配置node的 require 方法。但實際測試並不盡如人意,保險起見,還是對AMD模組使用 requirejs 載入,對commonjs模組使用 require 載入。 構造AMD格式的node模組 在node中定義的模組是commonjs模組,如果想要構造AMD模組,我們需要 amdefine 這個包。 安裝amdefine 同樣,可以使用npm進行安裝,在專案目錄下執行: npm install amdefine在windows下也存在無法全域性安裝的問題,需要對專案單獨安裝。 定義define方法 if(typeof define !== "function"){ var define=require("amdefine")(module);}amdefine提供了包裝AMD模組的 define 方法。不過上面程式碼中對於node中是否包含define方法的檢測判斷請保留,最好原封不動地將這幾行複製到自己的專案中。這樣,我們就可以像使用前端requirejs一樣,定義和使用AMD模組。 將node自己的common模組轉換為AMD模組原本想透過引用`amdefine`包來實現node端AMD模組的定義,不過requirejs本身定義了`define`方法,不必額外引入其他包。

  • 中秋節和大豐收的關聯?
  • 蘋果手機靜音鍵關了,拍照還是有聲音,怎麼解決?