我想编写一个Chrome应用程序,但我也想使用Edge.js与一些.Net代码进行互操作。现在,我已经在Nodejs应用程序中进行了尝试,但无法弄清楚如何在Chrome应用程序中进行操作。
我已经看过Paul Kinlan(the Chrome Apps office hours - NodeJS in chrome packaged apps)的YouTube视频,但是无法运行代码。我也尝试用browserify失败。
是否有一个使用Chrome应用程序中任何 Node 模块的有效示例(因为可用资源看起来更旧)。
提前致谢,
Manoj。
最佳答案
我已经在chrome打包的应用程序中运行了为node.js编写的代码,并使用了browserify或webpack使用了发布到npm的模块。
传统上,对我而言,唯一真正棘手的地方就是导出功能供我的Web应用程序使用,因为您无权访问require()
。我通常只创建一个特殊的模块,该模块导出要访问的所有全局符号并将其用作入口点。
例如,使用webpack,我将创建一个名为globals.js
的文件:
module.exports = exports = {
a: require('a'),
b: require('b'),
...
}
然后创建一个
webpack.config.js
:module.exports = {
context: __dirname + "/js",
entry: {
globals: [
"globals.js",
],
},
output: {
// Make sure to use [name] or [id] in output.filename
// when using multiple entry points
path: __dirname + "/js/generated",
filename: "[name].bundle.js",
chunkFilename: "[id].bundle.js",
library: "[name]",
libraryTarget: "umd",
}
};
然后,我可以打包该文件并将生成的包包含在我的应用程序中,并立即使用全局变量
globals
。我不确定Edge.js是否有效,但是我不认为有可能将其打包/浏览到Web/chrome应用程序中,因为它们不支持 native 绑定(bind),并且进程间通信很多不同的。我只是不确定它如何工作。
(但是,也许您可以使用其他类型的IPC与.net应用程序实现自己的互操作)
关于javascript - 是否可以使用node.js模块编写Chrome应用程序?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25031527/