gpt4 book ai didi

node.js - Webpack 如何构建生产代码以及如何使用它

转载 作者:IT老高 更新时间:2023-10-28 21:48:50 26 4
gpt4 key购买 nike

我是 webpack 的新手,我发现在生产环境中我们可以减少整体代码的大小。目前 webpack 构建大约 8MB 文件和 main.js 大约 5MB。如何减少生产构建中的代码大小?我从互联网上找到了一个示例 webpack 配置文件,并为我的应用程序进行了配置,我运行 npm run build 并开始构建它,它在 ./dist/ 目录中生成了一些文件.

  1. 这些文件仍然很重(与开发版本相同)
  2. 如何使用这些文件?目前我正在使用 webpack-dev-server运行应用程序。

package.json 文件

{
"name": "MyAPP",
"version": "0.1.0",
"description": "",
"main": "src/server/server.js",
"repository": {
"type": "git",
"url": ""
},
"keywords": [
],
"author": "Iam",
"license": "MIT",
"homepage": "http://example.com",
"scripts": {
"test": "",
"start": "babel-node src/server/bin/server",
"build": "rimraf dist && NODE_ENV=production webpack --config ./webpack.production.config.js --progress --profile --colors"
},
"dependencies": {
"scripts" : "", ...
},
"devDependencies": {
"scripts" : "", ...
}
}

webpack.config.js

var path = require('path');
var webpack = require('webpack');
var HtmlWebpackPlugin = require('html-webpack-plugin');
var public_dir = "src/frontend";
var ModernizrWebpackPlugin = require('modernizr-webpack-plugin');

module.exports = {
devtool: 'eval-source-map',
entry: [
'webpack-hot-middleware/client?reload=true',
path.join(__dirname, public_dir , 'main.js')
],
output: {
path: path.join(__dirname, '/dist/'),
filename: '[name].js',
publicPath: '/'
},
plugins: [
plugins
],
module: {
loaders: [loaders]
}
};

webpack.production.config.js

var path = require('path');
var webpack = require('webpack');
var HtmlWebpackPlugin = require('html-webpack-plugin');
var public_dir = "src/frontend";
var ModernizrWebpackPlugin = require('modernizr-webpack-plugin');
console.log(path.join(__dirname, 'src/frontend' , 'index.html'));

module.exports = {
devtool: 'eval-source-map',
entry: [
'webpack-hot-middleware/client?reload=true',
path.join(__dirname, 'src/frontend' , 'main.js')
],
output: {
path: path.join(__dirname, '/dist/'),
filename: '[name].js',
publicPath: '/'
},
plugins: [plugins],
resolve: {
root: [path.resolve('./src/frontend/utils'), path.resolve('./src/frontend')],
extensions: ['', '.js', '.css']
},

module: {
loaders: [loaders]
}
};

最佳答案

您可以按照@Vikramaditya 的建议添加插件。然后生成生产版本。你必须运行命令

NODE_ENV=production webpack --config ./webpack.production.config.js

如果使用 babel,还需要在上述命令前加上 BABEL_ENV=node 前缀。

关于node.js - Webpack 如何构建生产代码以及如何使用它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35054082/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com