我已经在 chrome 打包的应用程序中运行了为 node.js 编写的代码,并且使用了通过 browserify 或 webpack 发布到 npm 的模块。
传统上对我来说唯一真正棘手的一点是导出功能以供我的网络应用程序使用,因为您无权访问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 是否有效,但我不认为有可能将其 webpack/browserify 到 web/chrome 应用程序中,因为它们不支持本机绑定和进程间通信有很大不同。我只是不确定它是如何工作的。
(但您或许可以使用不同类型的 IPC 实现您自己的与 .net 应用程序的互操作)