一、代码地址

github:https://github.com/MengFangui/VueWebpackConfig

二、配置说明

1、命令

(1)npm i 安装依赖包

(2)num run dev 发布调试环境

(3)npm run bulid 发布线上环境

2、功能

(1)处理vue文件

(2)处理js文件

(3)ES6编译

(4)css处理(包括自动添加前缀)

(5)图片处理

(6)线上环境:文件MD5(hash)

(7)线上环境:文件压缩(js压缩)

(8)线上环境:模板文件处理

三、关键文件

1、webpack.config.js

//处理共用、通用的js
var webpack = require('webpack');
//处理html模板
var HtmlWebpackPlugin = require('html-webpack-plugin');
//css单独打包
var ExtractTextPlugin = require('extract-text-webpack-plugin');
var merge = require('webpack-merge');
var webpackBaseConfig = require('./webpack.config.js'); // 清空基本配置的插件列表
webpackBaseConfig.plugins = []; module.exports = merge(webpackBaseConfig, {
output: {
//用于在生产模式下更新内嵌到css、html文件里的url值
publicPath: 'dist/',
// 将入口文件重命名为带有 20 位 hash 值的唯一文件
filename: '[name].[hash].js'
},
plugins: [
new ExtractTextPlugin({
// 提取 css,并重命名为带有 20 位 hash 值的唯一文件
filename: '[name].[hash].css',
allChunks: true
}),
// 定义当前 node 环境为生产环境
new webpack.DefinePlugin({
'process.env': {
NODE_ENV: '"production"'
}
}),
// 压缩 js
new webpack.optimize.UglifyJsPlugin({
compress: {
warnings: false
}
}),
// 提取模板,并保存入口 html 文件
new HtmlWebpackPlugin({
//输出文件
filename: '../index_prod.html',
//模板文件
template: './index.ejs',
inject: false,
//html压缩
// minify:{
// //删除注释
// removeComments:true,
// //删除空格
// collapseWhitespace:true
// }
})
]
});

2、webpack.prod.config.js (用于线上环境)

//处理共用、通用的js
var webpack = require('webpack');
//处理html模板
var HtmlWebpackPlugin = require('html-webpack-plugin');
//css单独打包
var ExtractTextPlugin = require('extract-text-webpack-plugin');
var merge = require('webpack-merge');
var webpackBaseConfig = require('./webpack.config.js'); // 清空基本配置的插件列表
webpackBaseConfig.plugins = []; module.exports = merge(webpackBaseConfig, {
output: {
//用于在生产模式下更新内嵌到css、html文件里的url值
publicPath: 'dist/',
// 将入口文件重命名为带有 20 位 hash 值的唯一文件
filename: '[name].[hash].js'
},
plugins: [
new ExtractTextPlugin({
// 提取 css,并重命名为带有 20 位 hash 值的唯一文件
filename: '[name].[hash].css',
allChunks: true
}),
// 定义当前 node 环境为生产环境
new webpack.DefinePlugin({
'process.env': {
NODE_ENV: '"production"'
}
}),
// 压缩 js
new webpack.optimize.UglifyJsPlugin({
compress: {
warnings: false
}
}),
// 提取模板,并保存入口 html 文件
new HtmlWebpackPlugin({
//输出文件
filename: '../index_prod.html',
//模板文件
template: './index.ejs',
inject: false,
//html压缩
// minify:{
// //删除注释
// removeComments:true,
// //删除空格
// collapseWhitespace:true
// }
})
]
});

3、package.json

{
"name": "hello",
"version": "1.0.0",
"description": "",
"main": "main.js",
"scripts": {
"dev": "webpack-dev-server --open --config webpack.config.js",
"bulid": "webpack --progress --hide-modules --config webpack.prod.config.js"
},
"author": "",
"license": "ISC",
"devDependencies": {
"autoprefixer": "^7.2.3",
"babel": "^6.23.0",
"babel-core": "^6.24.0",
"babel-loader": "^6.4.1",
"babel-plugin-transform-runtime": "^6.23.0",
"babel-preset-es2015": "^6.24.0",
"babel-preset-latest": "^6.24.1",
"babel-runtime": "^6.23.0",
"css-loader": "^0.27.3",
"extract-text-webpack-plugin": "^2.1.0",
"file-loader": "^0.10.1",
"html-webpack-plugin": "^2.30.1",
"style-loader": "^0.16.1",
"url-loader": "^0.5.9",
"vue-hot-reload-api": "^2.0.11",
"vue-loader": "^11.3.4",
"vue-style-loader": "^2.0.5",
"vue-template-compiler": "^2.2.6",
"webpack": "^2.3.2",
"webpack-dev-server": "^2.4.2",
"webpack-merge": "^4.1.1"
},
"dependencies": {
"vue": "^2.2.6"
}
}

Vue webpack配置文件的更多相关文章

  1. Vue + Webpack + Vue-loader 系列教程(2)相关配置篇

    原文地址:https://lvyongbo.gitbooks.io/vue-loader/content/ 使用预处理器 在 Webpack 中,所有的预处理器需要和一个相应的加载器一同使用.vue- ...

  2. windows环境下搭建vue+webpack的开发环境

    前段时间一直在断断续续的看vue的官方文档,后来就慢慢的学习搭建vue的开发环境,已经有将近两周了,每到最后一步的时候就会报错,搞的我好郁闷,搁置了好几天,今天又接着搞vue的开发环境,终于成功了.我 ...

  3. Vue + Webpack + Vue-loader 1

    Vue + Webpack + Vue-loader 原文地址:https://lvyongbo.gitbooks.io/vue-loader/content/ Vue-loader 是什么? vue ...

  4. vue学习:vue+webpack的快速使用指南(新手向)

    一.vue有两种使用方式: 1.下载vue.js <script src="vue.js"></script> 2.使用npm npm install vu ...

  5. 从0开始搭建vue+webpack脚手架(二)

    接着从0开始搭建vue+webpack脚手架(一) 三.配置webpack-dev-server 1. webpack-dev-server自带一个node的服务器, 项目在服务端运行的同时可以实现热 ...

  6. 一字一句的搞懂vue-cli之vue webpack template配置

    webpack--神一样的存在.无论写了多少次,再次相见,仍是初见.有的时候开发vue项目,对尤大的vue-cli感激涕零.但是,但是,但是...不是自己的东西,真的很不想折腾.所以,我们就得深入内部 ...

  7. 使用vue+webpack从零搭建项目

    vue到现在已经成为一个热门的框架,在项目实践当中,如果想要创建一个新项目,通常都会使用vue-cli的脚手架工具,毋容置疑能够方便很多,很多东西也不需要自己亲自去配置.都知道,脚手架其实是vue结合 ...

  8. vue+webpack+VS Code入门简单的项目配置

    为了方便,这边的编译器选择的是VS Code (Visual Studio Code); 打开VS Code,选择好自己的工作空间,然后新建一个文件夹作为我们项目的文件夹,然后,show time: ...

  9. 从零开始搭建Electron+Vue+Webpack项目框架,一套代码,同时构建客户端、web端(一)

    摘要:随着前端技术的飞速发展,越来越多的技术领域开始被前端工程师踏足.从NodeJs问世至今,各种前端工具脚手架.服务端框架层出不穷,“全栈工程师”对于前端开发者来说,再也不只是说说而已.在NodeJ ...

随机推荐

  1. 关于mysql数据库的表概况 ,查看表状态

    SHOW TABLE STATUS FROM `DB_NAME` WHERE  ENGINE IS NOT NULL; SHOW TABLE STATUS FROM `DB_NAME`  WHERE ...

  2. centos 命令行修改主机名

    # vi /etc/sysconfig/network # 把localhost.localdomain 修改为 localhost.com # 保存退出 # vi /etc/hosts # 把loc ...

  3. PHP实现支付宝即时到账功能

    本文实例为大家分享了PHP支付宝即时到账功能的实现代码,供大家参考,具体内容如下 首先需要下载即时到账交易接口,传送门https://doc.open.alipay.com/doc2/detail?t ...

  4. 操作Image,封装的方法

    using System; using System.Collections; using System.IO; using System.Drawing; using System.Drawing. ...

  5. python 执行顺序

    从上往下顺序执行,定义的方法和类要写在调用之前, 如果有 if __name__ == '__main__'   改方法所在的文件作为启动文件时会被调用,如果作为模块被调用时不会被执行.

  6. 训练指南 UVALive - 4080(最短路Dijkstra + 边修改 + 最短路树)

    layout: post title: 训练指南 UVALive - 4080(最短路Dijkstra + 边修改 + 最短路树) author: "luowentaoaa" ca ...

  7. Codeforces #447 Div2 D

    #447 Div2 D 题意 给一棵完全二叉树,每条边有权值为两点间的距离,每次询问 \(x, h\) ,从结点 \(x\) 出发到某一结点的最短路的距离 \(d\) 如果小于 \(h\) ,则答案加 ...

  8. Exercise03_10

    import java.util.Scanner; public class SubtractionQuiz { public static void main(String[] args){ int ...

  9. Problem M: 输出九九乘法表

    #include<stdio.h> int main() { int n,i,j; scanf("%d",&n); n>=&&n<= ...

  10. opencv在vc2010 express下环境搭建方法笔记+空白通用工程(已编译测试通过)(提供下载)

    opencv在VC2010 express版本下的环境搭建可以参见下面的wiki,这里面讲的非常清楚. http://wiki.opencv.org.cn/index.php/VC_2010_Expr ...