Heroku - 节点部署时出现错误 运行 browserify

Heroku - error running browserify on Node deployment

我正在尝试将 Node 应用程序部署到 Heroku,但我在部署应用程序时成功地遇到问题 运行ning browserify。

当我在本地 运行ning 时,我使用 npm run bundle 浏览我的脚本,就像这样(来自 package.json):

"bundle": "./node_modules/browserify/bin/cmd.js build/main.js -o public/scripts/bundle.js

which browserifies build/main.js 中的脚本并将其放入 public/scripts/bundle.js.

为了部署到 Heroku,我添加了

"postinstall": "npm run bundle"

但是,当我部署时,出现以下错误:

Error: ENOENT: no such file or directory, open 'public/scripts/bundle.js.tmp-browserify-59309133185877094263'

嗯,没错,该文件不应该存在...但是。当我在本地 运行 npm run bundle 时,我确实看到该文件短暂地出现,但很快就被删除了,我得到了一个很好的更新 bundle.js.

我通读了 Heroku 的文档,但我很生气...谁能解释一下如何解决这个问题?

作为参考,这里是我的package.json:

的相关部分
"scripts": {
    "bundle": "./node_modules/browserify/bin/cmd.js build/main.js -o public/scripts/bundle.js",
    "postinstall": "npm run bundle"
},
"dependencies": {
    "body-parser": "^1.17.1",
    "browserify": "^14.1.0",
    "ejs": "^2.5.6",
    "express": "^4.15.2",
    "jquery": "^3.2.1",
    "path": "^0.12.7",
    "superagent": "^3.5.2"
},
"devDependencies": {},
"engines": {
    "node": "6.8.1",
    "npm": "4.0.5"
}

已解决!我的全局 gitignore 配置中包含 bundle.js。只需要把它拿出来,一切顺利!