Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何打包到';生产';我的网站有网页包吗?_Javascript_Reactjs_Npm_Webpack_Packaging - Fatal编程技术网

Javascript 如何打包到';生产';我的网站有网页包吗?

Javascript 如何打包到';生产';我的网站有网页包吗?,javascript,reactjs,npm,webpack,packaging,Javascript,Reactjs,Npm,Webpack,Packaging,我设法使用这个配置脚本来创建和测试一个简单的React-Flux Web应用程序 现在我有了一个我在运行npm start时喜欢的网站,在配置中添加生产构建的最简单/最好的方法是什么?当我使用“package”命令时,我希望得到一个包含所有最终html和缩小的js文件的prod文件夹,这是我应该期望的吗 这是我的包。json: { "name": "react-hot-boilerplate", "version": "1.0.0", "description": "Boilerpl

我设法使用这个配置脚本来创建和测试一个简单的React-Flux Web应用程序

现在我有了一个我在运行
npm start
时喜欢的网站,在配置中添加生产构建的最简单/最好的方法是什么?当我使用“package”命令时,我希望得到一个包含所有最终html和缩小的js文件的
prod
文件夹,这是我应该期望的吗

这是我的包。json

{
  "name": "react-hot-boilerplate",
  "version": "1.0.0",
  "description": "Boilerplate for ReactJS project with hot code reloading",
  "scripts": {
    "start": "node server.js",
    "lint": "eslint src"
  },
  "author": "Dan Abramov <dan.abramov@me.com> (http://github.com/gaearon)",
  "license": "MIT",
  "bugs": {
    "url": "https://github.com/gaearon/react-hot-boilerplate/issues"
  },
  "homepage": "https://github.com/gaearon/react-hot-boilerplate",
  "devDependencies": {
    "babel-core": "^5.4.7",
    "babel-eslint": "^3.1.9",
    "babel-loader": "^5.1.2",
    "eslint-plugin-react": "^2.3.0",
    "react-hot-loader": "^1.2.7",
    "webpack": "^1.9.6",
    "webpack-dev-server": "^1.8.2"
  },
  "dependencies": {
    "react": "^0.13.0",
    "flux": "^2.0.2",
    "events": "^1.0.2",
    "object-assign": "^3.0.0",
    "jquery": "^2.1.4",
    "imports-loader": "^0.6.4",
    "url-loader": "^0.5.6",
    "numeral": "^1.5.3",
    "bootstrap": "^3.3.5",
    "d3": "^3.5.6",
    "zeroclipboard": "^2.2.0",
    "react-toastr": "^1.5.1",
    "d3-legend": "^1.0.0"
  }
}

而且我不确定要保留、更改(prod config)或添加哪些部分(如果需要副本)…

您需要使用
--optimize minimize
选项(minifies)运行您的网页构建,并确保
NODE_ENV
设置为
production
(这将有效地禁用/删除React的仅用于开发的代码,例如道具类型检查)

您可以通过将
build:production
(您可以随意命名)命令添加到您的
package.json
,例如
NODE\u ENV=production webpack--optimize minimize

将其添加到包中。json的
脚本

"build:production": "NODE_ENV=production webpack --optimize-minimize"
并通过
npm run build:production

注意:这是假设您已经正确配置了Webpack,并且可以通过从命令行运行
Webpack
来“构建”


您可能需要查看您的webpack.config,我建议您在这个样板文件之外了解webpack.Egghead.io有一些关于这个主题(以及许多其他主题)的很棒的短视频:)Egghead.io/search?q=webpack,特别是

谢谢,我在其他地方读到,
webpack-p
用于构建生产(小型化),这与
--optimize minimize
有什么不同吗?是的
-p
--minimize optimize
:)的别名。另外,您为什么指示使用
npm run build:production
?我已经有了
npm start
脚本,它不需要运行吗?谢谢这是npm的一个特点<代码>测试和
开始
脚本不需要
运行
,但您添加的任何自定义
脚本
都需要它。谢谢:)我是否可能需要调用Webpack并指定新的配置文件<代码>“build:prod”:“NODE_ENV=production webpack--optimize minimize--config webpack.prod.config.js”另外,我在问题中添加了我的
webpack.config.js
,如果这有帮助的话,但我并不真正理解它:我想是
输出
部分的魔力所在
"build:production": "NODE_ENV=production webpack --optimize-minimize"