我是webpack的新手,我发现在生产版本中我们可以减少整体代码的大小。目前,webpack构建大约8MB的文件,而main.js构建大约5MB的文件。如何减少生产构建中的代码大小?我从互联网上找到了一个样本webpack配置文件,并为我的应用程序进行了配置,然后运行npm run build
并开始构建它,并在./dist/
目录中生成了一些文件。
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和Sandeep的答案。
要生成生产代码,您首先要创建的是使用优化包(例如,
new webpack.optimize.CommonsChunkPlugin('common.js'),
new webpack.optimize.DedupePlugin(),
new webpack.optimize.UglifyJsPlugin(),
new webpack.optimize.AggressiveMergingPlugin()
然后,在package.json文件中,您可以使用此生产配置来配置构建过程
"scripts": {
"build": "NODE_ENV=production webpack --config ./webpack.production.config.js"
},
现在您必须运行以下命令来启动构建
npm run build
根据我的生产构建配置,webpack会将源构建到./dist
目录。
现在,您的UI代码将在./dist/
目录中可用。配置服务器以将这些文件用作静态资产。做完了!
我对webpack非常陌生,我发现在生产构建中我们可以减少整体代码的大小。目前,webpack构建了大约8MB的文件,main.js构建了大约5MB的文件。如何在生产构建中减少代码的大小?我从internet上找到了一个示例webpack配置文件,并为我的应用程序进行了配置,然后运行,它开始构建,它在目录中生成了一些文件。 null webpack.config.js webpack.produc
我创建了一个AWS代码管道,它分四个阶段运行。1) 来自github的源代码,2)将后端部署到Elastic Beanstalk,3)使用Codebuild构建前端代码(使用下面的buildspec文件),以及4)将webpack的结果部署到S3。 到目前为止,除了第三阶段的结果外,一切都按预期进行。Codebuild似乎将工件设置为源文件,而不是webpack构建的结果。在bucket和文件夹中
嗨,我正在尝试安装Grunt在windows7 64位。我已经使用命令安装了Grunt 但现在如果我尝试执行,它会给我抛出一个错误- 找不到有效的Gruntfile。有关如何配置Grunt的更多信息,请参阅入门指南:http://gruntjs.com/gett-started致命错误:无法找到GruntFile。 但当我在系统中查看grunt文件夹时,就在那里。可以有人请指导我如何安装这个gru
我是否正确理解了使用SBT的最简单方法是使用OSGI插件将工具包安装到Domino服务器中,或者使用捆绑的Tomcat服务器? 在生产中使用代码段的正确方法是什么?仍然希望它引用Playerd数据库?
本文向大家介绍如何利用webpack把代码上传服务器以及转码测试?相关面试题,主要包含被问及如何利用webpack把代码上传服务器以及转码测试?时的应答技巧和注意事项,需要的朋友参考一下 代码上传: 可以使用sftp一webpack一plugin,但是会把子文件夹给提取出来,不优雅。可以使用gulp +webpack来实现。 转码测试 webpack应用babel来对ES6转码,开启devtool
问题内容: 我正在通过oracle文档进行死锁..我找到了这段代码 我不明白,在什么情况下会发生死锁? 我运行此代码,它工作正常。因此必须有一些特殊事件,何时会发生死锁? 假设首先在对象上调用bow ,那么当在bower对象上调用bow时,它会在对象上保持锁定吗?因为如果它保留其锁定,则另一个对象上的函数只有保持其锁定状态才能获得锁定,并且永远不会出现死锁情况。 问题答案: 如果在打印第一行之后并