将基于Angular 2 Node的应用程序部署到Heroku会触发此错误:
94% asset optimizationError in bail mode: [default] /tmp/build_47b0228d68fca7157f36b354e7868841/src/app/account/account-list.component.ts:13:12
remote: Cannot find name 'require'.
remote:
remote: npm ERR! Linux 3.13.0-100-generic
remote: npm ERR! argv "/tmp/build_47b0228d68fca7157f36b354e7868841/.heroku/node/bin/node" "/tmp/build_47b0228d68fca7157f36b354e7868841/.heroku/node/bin/npm" "install" "--unsafe-perm" "--userconfig" "/tmp/build_47b0228d68fca7157f36b354e7868841/.npmrc"
remote: npm ERR! node v6.6.0
remote: npm ERR! npm v3.10.8
remote: npm ERR! code ELIFECYCLE
remote: npm ERR! fm-ui@2.0.0-alpha.6 postinstall: `ng build -prod`
remote: npm ERR! Exit status 1
答案 0 :(得分:7)
添加@types/node
作为应用程序依赖项:
npm install @types/node --save
为了无错误地编译应用程序,Heroku需要Node类型依赖;将它作为开发依赖项是不够的。
有关相关信息,请参阅typescript getting error TS2304: cannot find name ' require'。