使用 babel-preset-env 转译而不从 create-react-app 中弹出

Transpile using babel-preset-env without ejecting from create-react-app

我使用 create-react-app 创建了一个 React 项目。为了将它打包到其他地方的 运行,我将 Docker 与此配置文件一起使用:

我的Docker文件

FROM node

COPY package.json .
RUN npm install
COPY . .

RUN npm run build
RUN npm run transpile

CMD PORT=$PORT npm run start:prod

当我 运行 我的应用程序在 docker 中使用 docker build . -t name_repo 时,构建在第 7/8 步停止(npm 运行 转译),我需要转译使用 babel 的代码(babel-preset-env 和 babel-preset-react-app)并得到 这个错误:

package.json:

...
"scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject",
    "transpile": "NODE_ENV=production babel src --out-dir transpiled --presets env,react-app",
    "start:prod": "NODE_ENV=production node server.js"
 },
...

我认为 Node_env 不太可能在生产配置文件中找到当前名称。我建议请再次检查所有参数并使用 SET NODE_ENV =production