定义未定义 Javascript 节点 [英] define is not defined Javascript Node

查看:34
本文介绍了定义未定义 Javascript 节点的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I am trying to run a Javascript file with Node to post blog updates to Tumblr.

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

So far in my main.js file I have this:

// 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');

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

But then I receive the following error when I run node 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 文件中抛出错误的地方:

And here is where the error is being thrown in the grammar.js file:

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

    // other stuff...
});

我认为模块没有被正确加载,因为它表明未定义定义函数.我相信这个函数来自 requireJS,但我认为我没有正确加载它.有没有人对为什么不定义定义有任何建议,或者关于如何加载正确模块的建议?

I do not think a module is being loaded properly because it is stating the define function isn't defined. I believe this function comes from requireJS but I don't think I am loading it properly. Does anyone have any suggestions on why define might not be defined, or suggestions on how to load the correct module?

谢谢.

推荐答案

看起来您正在尝试加载根据 AMD(异步模块定义)模式编码的库,Node 本身不支持该模式.库的作者完全有可能编写这样的库以便它可以在 Node.js 中加载.库的用户必须扩展 Node 的模块加载功能以了解 AMD 才能加载此类库.

It looks like you are trying to load a library that is coded according to the AMD (Asynchronous Module Definition) pattern, which Node does not support natively. It is perfectly possible for the author of a library to write such library so that it can be loaded in Node. The users of the library have to extend Node's module loading capabilities to understand AMD in order to load such library.

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

There are multiple loaders you can use, the one I use is amd-loader. Once installed with npm, you just add

require("amd-loader");

在加载任何 AMD 模块之前.

before you load any AMD module.

这篇关于定义未定义 Javascript 节点的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆