问题描述
common.js
:
"use strict";
const MarketingPolicy = {
Subscriptions: {
// Some properties here.
},Campaigns: [
// Some objects here.
]
};
const otherObject = {
// Some properties here.
};
module.exports = {
otherObject,MarketingPolicy
};
这适用于 Node.js:
const common = require("./common.js");
const policy = common.MarketingPolicy; // No error.
但是当使用 browserify 将其导出到 common.bundle.js
时,客户端 (undefined
) 无法访问任何对象,即使使用 --standalone
选项:
以下方法均无效:
browserify functions/middleware/common.js | uglifyjs > store/public/app/scripts/common.bundle.js
browserify functions/middleware/common.js > store/public/app/scripts/common.bundle.js
browserify functions/middleware/common.js --s common > store/public/app/scripts/common.bundle.js
browserify functions/middleware/common.js --standalone common > store/public/app/scripts/common.bundle.js
我如何在客户端对其进行测试?
在 app.html 中:
<script src="/app/scripts/common.bundle.js"></script>
<script src="/app/scripts/app.js"></script>
在 app.js 中:
const policy = MarketingPolicy; // undefined
const policy = common.MarketingPolicy; // common is undefined.
使用global
?
当我在 global
中使用 common.js
时,MarketingPolicy
对象中的属性在服务器端和客户端都无法再访问:
global.MarketingPolicy = {
Subscriptions: {
// Some properties here.
},Campaigns: [
// Some objects here.
]
};
module.exports = {
otherObject,MarketingPolicy: this.MarketingPolicy
};
在 Node.js 中:
const common = require("./common.js");
const subscriptions = common.MarketingPolicy.Subscriptions; // Subscriptions is undefined.
这个问题花了我一整天的时间进行故障排除和研究,却没有让我的 common.js
对两端都有效。相信我,我什至将所有对象都放在一个 module.exports
中,但仍然无法正常工作。我看到很多人在许多其他帖子中将 --standalone
选项标记为答案 -- 我是否在代码中遗漏了其他内容?希望有人能指点我一下。在此先感谢您!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)