javascript - Node : How to prepare code for production environment

标签 javascript node.js reactjs webpack

我是使用 Nodejs 和 React 进行开发的初学者

现在,我的 Web 应用程序的第一个版本可以在开发环境中正常运行,但我正在尝试为生产环境构建一个版本,但我遇到了这个错误

ReferenceError: document is not defined

我的 package.json 的脚本是:

  "scripts": {
    "dev-webpack": "webpack-dev-server --hot --mode development",
    "clean": "rm -rf ./dist",
    "dev": "npm run build-dev && cross-env NODE_ENV=development nodemon --exec babel-node src/server/server.js --ignore ./src/client",
    "build-dev": "npm run clean && npm run compile-dev",
    "compile-dev": "NODE_ENV=development webpack -d --config ./webpack.config.babel.js --progress",    
    "compile": "NODE_ENV=production webpack -p --config ./webpack.config.babel.js --progress",
    "build": "npm run clean && npm run compile",
    "start": "npm run build && node ./dist/assets/js/bundle.js"
  },

然后我尝试使用命令 npm run start

为生产环境创建版本

我一直在寻找有关该问题的信息,似乎是因为我没有 Browserify 我的 Web 应用程序。但是,我不知道如何正确执行此操作,也不知道正确执行此操作的步骤。

我正在寻找为生产环境构建正确版本所需的步骤列表。

编辑一:

这些是使用“构建”脚本生成的静态文件:

enter image description here

最佳答案

React 应用程序旨在在浏览器中运行。

当您运行 dev-webpack 时,您正在运行一个 HTTP 服务器并将浏览器指向它。

当您运行 build 时,您正在创建一个静态 JavaScript 文件。您需要将其部署到 Web 服务器(连同关联的 HTML 文档),然后将浏览器指向 HTML 文档。

您当前正在尝试使用 Node 而不是浏览器执行 bundle.js

关于javascript - Node : How to prepare code for production environment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57411866/

相关文章:

javascript - 雅虎的莫吉托曼哈顿混合鸡尾酒,何时/何地可以使用?

node.js - 当主机为 0.0.0.0 时 grunt-connect 不起作用

javascript - 来自 <FormattedMessage> 的 React.Intl 子字符串

node.js - 找不到所需的文件 index.html - Heroku 推送错误

php - Javascript字节数组到二进制字符串?

javascript - WebSockets 适用于实时多人游戏吗?

javascript - AngularJS $routeParams 未定义,但属性存在

javascript - 正则表达式匹配被覆盖

javascript - Commander.js 在没有命令的情况下调用时显示帮助

reactjs - 如何使类对象在 MobX 中可观察?