有時候在項目中須要使用jq在node中,可是使用起來卻不是那麼友好,那麼如今該怎麼作?改寫JQ插件?將JQ插件打包成npm包,再在項目中進行引用?顯然這些相比較於難度都比較大。接下來介紹一種簡單的方法。html
首先安裝jquery以及jsdom。node
jquery:https://www.npmjs.com/package/jqueryjquery
jsdom:https://www.npmjs.com/package/jsdomnpm
命令以下:dom
npm install jquery
npm install jsdom
安裝完成以後,在項目中引入函數
const $ = require('jquery')(require("jsdom").jsdom().defaultView);
以上代碼爲老版本的代碼,在jsdom更新後,不可用ui
新版本的使用方法爲:spa
const jsdom = require('jsdom'); const {JSDOM} = jsdom; const {document} = (new JSDOM('<!doctype html><html><body></body></html>')).window; global.document = document; const window = document.defaultView; const $ = require('jquery')(window);
將這些文件引入到jq所在的目錄中,而且將原來jq聲明的當即執行函數進行替換。插件
(function($) {
//some var //some function //dosometing
})(jQuery);
最終的形式相似於這樣code
const jsdom = require('jsdom'); const {JSDOM} = jsdom; const {document} = (new JSDOM('<!doctype html><html><body></body></html>')).window; global.document = document; const window = document.defaultView; const $ = require('jquery')(window);
//some var //some function //dosometing
而後能夠根據node的寫法,將本身的函數暴露出去。