使用全局包打包nodejs应用程序

时间:2015-05-06 08:15:10

标签: windows node.js

我们有一个项目必须打包成拉链,以便我们可以将它分发给我们的客户。使用正常的node_modules目录我没有问题。我只是将目录和node.exe放在我的项目文件夹中,并且可以在所有其他计算机上启动我们的项目而无需安装节点或运行任何npm命令。

但现在我对phantomjs有所依赖,需要将其作为全局包npm install -g phantomjs安装。

如何将这样的模块打包到我们的项目中?我首先想到将phantomjs复制到本地node_modules目录并将路径变量NODE_PATH设置为此目录。它没有找到phantomjs。

开发和客户端平台都是Windows。

1 个答案:

答案 0 :(得分:0)

好吧,通常可以使用--save标志安装全局依赖项并调用./node_modules/phantomjs/bin/phantomjs /*now executes*/之类的bin(仅作为说明性示例)。

但是,与Phantom一起使用并不那么简单,因为它下载二进制文件和/或甚至编译。你有三个选择:

  1. ssh进入目标,之前只有npm install -g phantomjs或在清单中定义,例如Dockerfile就像那样,如果你正在使用容器。
  2. 按照建议here从源代码编译。
  3. 如果您使用的是CLI,那么只需使用--save方法。
  4. 所以我几乎不建议只用它来制作Docker镜像并将其作为tarball发布。不幸的是,你不能压缩平台相关的Phantom安装。

    许多依赖项(如karma-runner-phantomjs)也会查找全局依赖项的路径以解决它的使用。