javascript - Nodejs:如何为生产环境准备代码
问题描述
我是使用 Nodejs 和 React 开发的初学者。
现在,我的 Web 应用程序的第一个版本在开发环境中可以正常工作,但是我正在尝试为生产环境构建一个版本,但是我遇到了这个错误
ReferenceError:文档未定义
我的 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 应用程序。但是,我不知道如何正确执行此操作,也不知道正确执行此操作的步骤。
我正在寻找为生产环境构建正确版本所需的步骤列表。
编辑我:
这些是使用“build”脚本生成的静态文件:
解决方案
React 应用程序设计为在浏览器中运行。
当您运行时,dev-webpack
您正在运行 HTTP 服务器并将浏览器指向它。
当您运行时,build
您正在创建一个静态 JavaScript 文件。您需要将其部署到 Web 服务器(连同关联的 HTML 文档),然后将浏览器指向 HTML 文档。
您当前正在尝试bundle.js
使用 Node 而不是浏览器执行。
推荐阅读
- sql - 01403. 00000 - “未找到数据”:PL/SQL 块问题:未找到数据错误
- linux - 为什么我的 USB 摄像头 - 曾经与 Zoom 一起使用 - 让我的显示器保持开启状态?
- javascript - 如何在发送成功的 AXIOS 呼叫时导航?
- flutter - 如何解决 Flutter 中 Navigator.Push 中缺少参数的问题?
- angular - 如何使用nodejs以角度翻译带有ngx-traslate库的对象?
- python - 如何在没有 EOL 错误的情况下进行 timeit.timeit 多行输出?
- kotlin - Mapstruct Kotlin Gradle - 接口实现不完整
- c# - 实体框架 - 如果新添加到集合中则插入,如果从集合中删除则删除
- spring - @Cacheable 抽象的 Spring Data Geode Expiration
- python - 面临的问题:UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 918: ordinal not in range(128) while trying to load a Pytorch model