【问题标题】:Is it possible to write Chrome Apps using node.js modules?是否可以使用 node.js 模块编写 Chrome 应用程序?
【发布时间】:2014-07-30 07:54:47
【问题描述】:

我想编写一个 Chrome 应用程序,但我也想使用 Edge.js 与一些 .Net 代码进行互操作。现在我已经在 Nodejs 应用程序中进行了尝试,但无法弄清楚如何在 Chrome 应用程序中进行操作。

我观看了 Paul Kinlan (the Chrome Apps office hours - NodeJS in chrome packaged apps) 的 YouTube 视频,但无法运行代码。我也试过 browserify 没有成功。

是否有使用 Chrome 应用程序中的任何节点模块的工作示例(因为可用资源看起来更旧)。

提前致谢, 马诺吉。

【问题讨论】:

    标签: javascript node.js google-chrome-app


    【解决方案1】:

    我已经在 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 应用程序的互操作)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-09-16
      • 2011-03-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-24
      相关资源
      最近更新 更多