在生产环境中构建和运行时找不到模块“ ./static”

时间:2019-01-11 21:30:56

标签: javascript reactjs autodesk-forge

我正在尝试在生产环境中构建并运行Forge-RCDB project。我通过以下命令在Windows Powershell上工作:

npm run build-prod
$env:NODE_ENV ="production"
npm start

但是在npm start

之后出现以下错误
> node bin/start.js

internal/modules/cjs/loader.js:583
    throw err;
    ^

Error: Cannot find module './static'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:581:15)
    at Function.Module._load (internal/modules/cjs/loader.js:507:25)
    at Module.require (internal/modules/cjs/loader.js:637:17)
    at require (internal/modules/cjs/helpers.js:22:18)
    at Object.<anonymous> (C:\Users\dyang\Documents\forge-rcdb.nodejs\bin\start.js:15:3)
    at Module._compile (internal/modules/cjs/loader.js:689:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
    at Module.load (internal/modules/cjs/loader.js:599:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
    at Function.Module._load (internal/modules/cjs/loader.js:530:3)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! forge-rcdb@4.0.0 start: `node bin/start.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the forge-rcdb@4.0.0 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

我试图做 npm install node-static 但是错误仍然相同。有人可以帮我弄这个吗? ./static有什么用?

2 个答案:

答案 0 :(得分:0)

./static此处是指bin/static,是使用npm run build-prod构建它们之后,前端发出驻留的位置。您遇到的错误不是由于缺少node-static或与此相关的任何特定依赖性。

在运行npm run build-prod时检查控制台输出,然后验证内部是否内置bin/static目录,此后是否正确生成。在下面用您的发现编辑您的问题或评论,我将相应地更新答案。

编辑: 经过自我测试,是的,原始的运行生产脚本错过了npm run build-server位。将提高PR来解决此问题。

因此要在生产环境中运行的正确命令是:

npm run build-server && npm run build-prod && NODE_ENV=production npm start

并确保在config/production.config.js

中按要求启动之前设置所有环境变量。

答案 1 :(得分:0)

使用npm run build-server代替npm run build-prod解决了该问题。不确定其他潜在影响。