今天用node引入jquery的包來(lái)進(jìn)行遍歷數(shù)組的時(shí)候發(fā)現(xiàn)出了一個(gè)錯(cuò)誤
image.png
$.each(arr1, function (i, val) {
^
TypeError: $.each is not a function
at Object.<anonymous> (d:\Documents\Codes\WebstormProjects\webtutor\jqtest\cee.js:3:3)
at Module._compile (internal/modules/cjs/loader.js:799:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:810:10)
at Module.load (internal/modules/cjs/loader.js:666:32)
at tryModuleLoad (internal/modules/cjs/loader.js:606:12)
at Function.Module._load (internal/modules/cjs/loader.js:598:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:862:12)
at internal/main/run_main_module.js:21:11
[Done] exited with code=1 in 0.643 seconds
而引入其他的包就沒(méi)有問(wèn)題,網(wǎng)上查了一下才知道要這么做:
var jsdom = require("jsdom");
$ = require("jquery")(jsdom.jsdom().createWindow());
console.lo($);
或者
const jsdom = require("jsdom");
const { JSDOM } = jsdom;
const { window } = new JSDOM(`<!DOCTYPE html>`);
const $ = require('jQuery')(window);
console.log($); //測(cè)試jquery是否可以正常工作
要定義一個(gè)jsdom來(lái)模擬他的環(huán)境這樣就好了碎连;
推薦一個(gè)工具包 licia很好用的
var bubblesort = require('licia/bubbleSort')
var camelCase = require('licia/camelCase')
console.log(bubblesort([5, 3, 3, 2, 7, 8, 84, 5, 89, 9, 8]));
console.log(camelCase('foo-bar')); // -> fooBar
console.log(camelCase('foo bar')); // -> fooBar
console.log(camelCase('foo_bar')); // -> fooBar
console.log(camelCase('foo.bar')); // -> fooBar
結(jié)果:
[ 2, 3, 3, 5, 5, 7, 8, 8, 9, 84, 89 ]
fooBar
fooBar
fooBar
fooBar
[Done] exited with code=0 in 0.556 seconds
里面封裝了很多函數(shù)灰羽,我們直接調(diào)用就可以