【发布时间】:2018-04-27 03:58:47
【问题描述】:
我需要在节点应用程序和浏览器中都有一些配置对象。这是配置的路径和内容:
路径:[app]/public/js/config.js
内容:
var config = {
"foo": "bar",
"num": 42,
"list": ["a","b","f"]
};
var isBrowser=new Function("try {return this===window;}catch(e){ return false;}");
if(!isBrowser) {
module.exports = config;
}
在我的 html 中,我只是添加了一个脚本元素,它工作正常:
<script src="/js/config.js"></script>
然而,在节点应用程序中,我似乎没有导入对象并且我得到一个空对象:
var config = require('./public/js/config.js');
console.log('config:', config); // gives config: {}
我做错了什么?
【问题讨论】:
-
您需要 config.js 中的
module.exports =才能使require工作? -
为什么不使用标准的UMD 而不是上面的函数技巧?
-
@AnthonyKong,我在 config.js 中有
module.exports =。 -
@ghybs,我会测试一下,看看它是否能解决这个问题。谢谢。
标签: javascript node.js