emberJS压缩nwJS require()方法

时间:2015-12-29 20:27:43

标签: javascript node.js ember.js node-webkit

我有一个nwjs应用程序指向包含ember应用程序的Web地址。在ember应用程序内部,我需要访问节点上下文以查看用户正在运行的操作系统以进行更新检查。我在这样的初始化程序中这样做。

require('os')

不幸的是我得到了这个:

Error: Could not find module `os` imported from `(require)`

似乎ember的require()方法正在压缩由nwjs设置的那个。我可以通过将nwjs窗口更改为指向google.com,将“node-remote”设置为“*”,然后再次尝试运行require('os')命令来确认这一点。在这种情况下,模块被完美地解析。

Ember的代码反映了这一点。 https://github.com/emberjs/ember.js/blob/27862a18b8773e57c52dbc7141b1f92a505f16ff/packages/loader/lib/index.js

是否有其他方法可以访问正确的require()或者我是否需要创建“node-main”文件并且只需要执行

window.nodeRequire = require

1 个答案:

答案 0 :(得分:1)

我设法从mainModule那里得到了正确的要求。

process.mainModule.require('os')