webpack 发布配置
来源:互联网 发布:java 绘图无法显示 编辑:程序博客网 时间:2024/06/05 06:34
上次写的是开发配置,这次是发布配置:
var path = require('path');
var webpack = require('webpack');
var node_modules_dir = path.resolve(__dirname, 'node_modules');
//引用单独打包模块
var ExtractTextPlugin = require("extract-text-webpack-plugin");
var config = {
entry: {
app: path.resolve(__dirname, 'app/main.js'),
// mobile:path.resolve(__dirname, 'app/mobile.js'),
// 当 React 作为一个 node 模块安装的时候,
// 我们可以直接指向它,就比如 require('react')
vendors: ['react']
},
output: {
path: path.resolve(__dirname, 'dist'),
filename: '[name].js',
publicPath: "../" //html引用路径,在这里是本地地址。
}
,module: {
loaders: [
//babel 可以将es6代码转换成es5的代码
{ test: /\.jsx?$/, // 用正则来匹配文件路径,这段意思是匹配 js 或者 jsx
exclude: [node_modules_dir],
loader: 'babel' // 加载模块 "babel" 是 "babel-loader" 的缩写
}
,{test:/\.scss$/,loader:ExtractTextPlugin.extract("style-loader", "css-loader!sass-loader")}
//这里本来只选css文件,但这样最后style.css内只会有css的文件并没有less的,而less还是以style引用的
//所以这里加上了|less这样,处理的模块就需要是css!less 而不是css-loader一个了
,{test: /\.(css|less)$/, loader: ExtractTextPlugin.extract("style-loader", "css!less")}
,{
test: /\.(png|jpg|jpeg)$/,
loader: 'url-loader?limit=2000&name=images/[hash:8].[name].[ext]'
}
,{
test: /\.woff$/,
loader: 'url?limit=100000'
}
]
},
plugins: [
new webpack.optimize.CommonsChunkPlugin('vendors', 'vendors.js')//生成公用的文件
,new ExtractTextPlugin("style/style.css", {allChunks: true})// 配置css 单独打包
]
};
module.exports = config;
解析:
entry是对象配置的,为main定义了app名称,vendors数组配置单独打包的模块。生成名为vendors
output配置了输入目录dist 输出名称为[name].js表示以定义的app vendors来替换。
publicPath: "../" //html引用路径,在这里是本地地址。它对于css中引用图片会在前加上../
引用了单独打包模块
在loaders内配置的css less scss都用到了,这样它们都解析完后会合并到指定的css文件内。
还有图片的配置,name=images/[hash:8].[name].[ext]设置了name参数。表示图片的保存地
在plugins内有二个配置,一个是公用js的打包配置,另一个是css合并打包目录和名子。
打包使用:
在打包项目时,只需修改下配置里的主js引用地址和输出时的目录
然后运行npm run deploy
会把打包的js css 图片都放在输出目录下。
但是没有页面。
所以页面需要我们手动复制过来并添加css 公用js 打包后app的引用。
- webpack 发布配置
- webpack配置
- webpack配置
- webpack 配置
- webpack配置
- webpack配置
- webpack 配置
- webpack配置
- webpack配置
- Webpack配置
- webpack配置
- webpack 线上发布优化
- VUE 利用 webpack 给生产环境和发布环境配置不同的接口地址
- VUE 利用 webpack 给生产环境和发布环境配置不同的接口地址
- VUE 利用 webpack 给生产环境和发布环境配置不同的接口地址
- webpack echarts配置实例
- webpack安装和配置
- webpack配置浅析
- 版本控制系统SVN
- NameNode处理上报block块逻辑分析
- LAMP中如何设置open_basedir
- cocos2d-js获得其它Layer层对象
- Linux /proc/net/ 下文件用途
- webpack 发布配置
- 两机只能单向Ping通的原因、ping的原理
- 利用maven将项目依赖的jar提取到指定文件夹
- ES6学习——生成器(Generators):yield*
- Jquery基础学习(一)
- 物联网
- 简单的美才是真的美——浅议结构风险最小化和经验风险最小化
- LeetCode(32)-Longest Valid Parentheses
- bat批处理笔记——为指定类型文件添加后缀名