问题:
我包含一个.js文件,其中需要访问这些功能。
我需要的文件如下所示:
MyFile = {
f1: function(value) {
// some code
},
f2: function(value) {
// some code
},
// and so one....
代码扼杀了我如何调用函数f1:
expr = MyFile.f1('Hello');
对此有趣的是,在我看来,它不起作用。需求部分工作正常。我测试了这是否是问题所在,但不是。具有相同代码的我的同事可以在没有问题的情况下运行它,但是我收到以下消息:
ReferenceError:未定义MyFile。
有人可以向我解释什么可能导致此问题吗?
解决方案:
我现在使用的是require
,而不是module.expoerts
,它工作正常。
在这里您可以看到我的化妆品:
MyFile = {
更改为module.exports = {
require('./MyFile.js');
分配给某个属性,例如var MyFile = require('./MyFile.js');
答案 0 :(得分:1)
好像您在“严格模式”下运行代码,而您的同事却没有,因此他没有得到参考错误。
答案 1 :(得分:0)
MyFile = {
f1: function(value) {
// some code
},
f2: function(value) {
// some code
},
// and so one....
module.exports = MyFile;
和
const MyFile = require('./MyFile.js');
答案 2 :(得分:0)
对要导出的内容进行编码,例如
exports.MyFile = {
f1: function (value) {
// some code
},
f2: function (value) {
// some code
}
}
将其另存为 moduleFile.js
然后这样称呼
let obj= require('./moduleFile');
// Use Object MyFile from moduleFile like this
obj.MyFile.f1('Hello');
注释1 :请勿在任何地方都使用诸如 myfile 之类的易混淆名称。
注释2 :导入时不要 .js 扩展名。