我有一个 javascript 文件journal.js,其中包含以下内容:
require('./fixtures/journal-data');
if (typeof module != "undefined" && module.exports)
module.exports = JOURNAL;
var hasEvent = function hasEvent(event, entry) {
return entry.events.indexOf(event) != -1;
};
var tableFor = function tableFor(event, journal) {
var table = [0, 0, 0, 0];
for (var i = 0; i < journal.length; i++) {
var entry = journal[i], index = 0;
if (hasEvent(event, entry)) index += 1;
if (entry.squirrel) index += 2;
table[index] += 1;
}
return table;
};
console.log(tableFor("pizza", JOURNAL));
当我运行这个文件时,我得到:
ReferenceError: JOURNAL is not defined
在 Node 中,我可以看到外部 javascript 文件journal-data 已加载。
我在这里缺少什么?
编辑: 日志数据文件的内容是:
// journal-data.js
var JOURNAL = [
{"events":["carrot","exercise","weekend"],"squirrel":false},
{"events":["bread","pudding","brushed teeth","weekend","touched tree"],"squirrel":false}
];
最佳答案
您需要从文件中导出 JOURNAL var,如下所示。
exports.JOURNAL = [
{"events": ['carrot', ...]}
]
这将允许您在当前状态下使用journal.js。
您也可以使用以下语法:
./fixtures/journal-data
module.exports = [ {"events": [...]} ];
./journal.js
var JOURNAL = require('./fixtures/journal-data');
....
关于JavaScript加载外部文件: ReferenceError: JOURNAL is not defined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29299887/