Heroku - 在Node部署上运行browserify时出错

时间:2017-03-30 02:38:55

标签: node.js heroku browserify

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

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

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

浏览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"
}

1 个答案:

答案 0 :(得分:0)

解决!我的全局gitinore配置中包含<form action="" method="post" name="f"> <TABLE id="dataTable" border="1"> <thead> <tr> <td></td> <td>Product Name</td> <td>Model</td> <td>Description</td> </tr> </thead> <tbody> </tbody> </TABLE> <br> <input type="text" name="ProductNme" id="item" > <input type="text" name="ProductNme" id="price" > <input type="text" name="ProductNme" id="qty" > <input type="submit" name="submit" value="Submit"> <INPUT type="button" value="Add Row" onclick="addRow('dataTable')" /> <INPUT type="button" value="Delete Row" onclick="deleteRow('dataTable')" /> 。只是不得不把它拿出来,好好去!