定义是没有定义的Javascript节点

我正在尝试使用Node来运行Javascript文件,以将博客更新发布到Tumblr。

到目前为止,在我的main.js文件中,我有这样的:

// Tumblr Information var tumblr = require('./vendor/tumblr'); tumblr.request(require('request')); var Blog; var jq = require('./vendor/jquery-1.11.1.min'); var reqq = require('./vendor/require'); var inher = require('./vendor/inheritance'); var grammars = require('./tracery/grammar'); 

但是,当我运行节点main.js时收到以下错误

 ReferenceError: define is not defined at Object.<anonymous> (B:\Documents\Google Drive\Programming\CMPM 147 Tracery\Tumblr Tracery\js\ tracery\grammar.js:6:1) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Module.require (module.js:364:17) at require (module.js:380:17) at Object.<anonymous> (B:\Documents\Google Drive\Programming\CMPM 147 Tracery\Tumblr Tracery\js\ main.js:11:16) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) 

这里是在grammar.js文件中引发错误的地方:

 define(["./modifiers", "./node"], function(universalModifiers, Node) {'use strict'; // other stuff... }); 

我不认为一个模块正在被正确加载,因为它是说定义函数没有定义。 我相信这个函数来自requireJS,但我不认为我正在加载它。 有没有人有任何build议,为什么定义可能没有定义,或build议如何加载正确的模块?

谢谢。

看起来您正在尝试加载一个根据AMD(asynchronous模块定义)模式编码的库,该模式本身不支持该节点。 图书馆的作者完全有可能编写这样的图书馆,以便它可以加载到节点中。 库的用户必须扩展Node的模块加载function才能理解AMD以加载这样的库。

有多个可以使用的加载器 ,我使用的是amd-loader 。 一旦安装了npm ,你只需添加

 require("amd-loader"); 

在加载任何AMD模块之前。