我想编写一个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/

10-09 20:25
查看更多