【问题标题】:Cannot find module './static' when build&run in production env在生产环境中构建和运行时找不到模块“./static”
【发布时间】:2019-06-06 20:04:00
【问题描述】:

我正在尝试在生产环境中构建和运行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 是干什么用的?

【问题讨论】:

  • 你的项目中有静态目录吗?好像有什么东西正在尝试导入它。

标签: javascript reactjs autodesk-forge


【解决方案1】:

./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中的要求设置所有环境变量

【讨论】:

    【解决方案2】:

    使用npm run build-server 而不是npm run build-prod 可以解决问题。不确定其他潜在影响。

    【讨论】:

    • 测试了自己,是的,原始运行生产脚本错过了npm run build-server 位。感谢您发现这一点!但是您应该将其添加到命令的开头而不是交换任何内容。
    猜你喜欢
    • 1970-01-01
    • 2018-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-24
    • 2019-05-26
    • 2013-06-19
    • 2011-07-08
    相关资源
    最近更新 更多