const path = require('path')
const webpack = require('webpack')
const HtmlWebpackPlugin = require('html-webpack-plugin')
const config = require('./config/')
const IS_ENV = process.env.NODE_ENV == 'production' var plugins = []
if (IS_ENV) { //生产环境
plugins.push(new webpack.DefinePlugin({
'process.env': { //设置成生产环境
NODE_ENV: '"production"'
}
}))
plugins.push(new webpack.optimize.UglifyJsPlugin({ //压缩代码
compress: {
warnings: false
}
}))
} plugins.push(
new HtmlWebpackPlugin({ //根据模板插入css/js等生成最终HTML
filename: './index.html', //生成的html存放路径,相对于 path
template: './src/template/index.html', //html模板路径
})
) module.exports = {
entry: ['./src/main.js'], //编译入口文件
output: {
publicPath: config.publicPath, //服务器的路径
path: path.resolve(__dirname + config.publicPath), //编译到app目录
filename: '[name].js?[hash]' //编译后的文件名
},
module: {
loaders: [
{
test: /\.js(x)*$/,
exclude: /^node_modules$/,
loader: 'babel'
},
{
test: /\.vue$/,
loader: 'vue'
},
{
test: /\.css/,
exclude: /^node_modules$/,
loader: `style-loader!css-loader!autoprefixer-loader?{ browsers: ['last 100 versions'] }!`
},
{
test: /\.less/,
exclude: /^node_modules$/,
loader: `style-loader!css-loader!autoprefixer-loader?{ browsers: ['last 100 versions'] }!less-loader`
},
{
test: /\.(png|jpg)$/,
exclude: /^node_modules$/,
loader: 'url?limit=2000&name=[name].[ext]' //注意后面那个limit的参数,当你图片大小小于这个限制的时候,会自动启用base64编码图片
},
{
test: /\.(eot|woff|svg|ttf|woff2|gif|appcache)(\?|$)/,
exclude: /^node_modules$/,
loader: 'file-loader?name=[name].[ext]'
}
]
},
plugins,
resolve: {
extensions: ['', '.js', '.vue', '.jsx'], //后缀名自动补全
alias: {
vue: 'vue/dist/vue.js', //webpack打包时,需要设置别名
store: path.resolve('src/store/'), //常用工具方法
}
},
vue: {
postcss: [
require('autoprefixer')({
browsers: ['last 100 versions']
})
]
}
}

webpack vue2.0项目配置文件详解的更多相关文章

  1. redis5.0.3配置文件详解

    Redis最新版本5.0.3配置文件详解 单位 #当你需要为某个配置项指定内存大小的时候,必须要带上单位, #通常的格式就是 1k 5gb 4m 等: #1k => 1000 bytes #1k ...

  2. vue2.0中router-link详解

    vue2.0中router-link详解:https://blog.csdn.net/lhjuejiang/article/details/81082090 在vue2.0中,原来的v-link指令已 ...

  3. webpack+vue2.0项目 (一) vue-cli脚手架

    很早以前就开始看vue2.0和webpack,但总是留不下深刻的印象,一直缺少一个可以贯通的项目,而且工作也没有时间,最近辞职在家,从网上找了个项目,写了大概八天,踩了无数的坑啊!! 下载的项目包括, ...

  4. vue+vuecli+webapck2项目配置文件详解

    1.文件结构 ├─build │ ├─build.js │ ├─check-versions.js │ ├─dev-client.js │ ├─dev-server.js │ ├─utils.js │ ...

  5. Vue2.0 脚手架代码详解

    参考作者:https://www.jianshu.com/p/2b661d01eaf8 只是为了方便个人学习. 来看一下脚手架创建后的项目目录  说明:在*.vue文件,template标签里写htm ...

  6. webpack+vue2.0项目 (二)热加载,vue-router

    目录创建好之后,命令行输入 npm run dev 因为在配置文件config/index.js里: dev: { env: require('./dev.env'), port: 8080, aut ...

  7. vue2.0 自定义指令详解

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  8. webpack vue2.0项目脚手架生成的webpack文件

    var path = require('path') var utils = require('./utils') var config = require('../config') var vueL ...

  9. vue2.0生命周期详解

    首先上图展 <template> <div id="home"> <p>{{ message }}</p> </div> ...

随机推荐

  1. this词法

    1.示例代码 <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UT ...

  2. No value for key [org.hibernate.impl.SessionFactoryImpl 异常解决

    使用Hibernate+Spring进行CRUD操作时.出现例如以下类似异常信息: java.lang.IllegalStateException: No value for key [org.hib ...

  3. plsql 快捷键配置

      plsql 快捷键配置 CreateTime--2018年4月23日17:41:45 Author:Marydon 功能快捷键 预设条目 中文解释 快捷键配置Edit/Undo 撤销 ctrl+z ...

  4. 如何提高SELECT的效率

      首先避免使用in ,not in,<>,<,<=,>,>=,is null,is not null 主要搜索字段建立索引 .WHERE子句中的连接顺序 sql解 ...

  5. vue-router实现SPA购物APP基本功能

    概述 vue-router是vue中的一个核心插件,用它来实现SPA购物APP基本功能 详细 代码下载:http://www.demodashi.com/demo/10725.html vue-rou ...

  6. CSS3制作Freebie标签

    <!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8& ...

  7. HDUOJ------2398Savings Account

    Savings Account Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)T ...

  8. Ant build xml中的各种变量解释

    Ant build.xml中的各种变量 Ant环境变量分为四种: 1.      build.properties文件中定义的变量 2.      build.xml文件中定义的变量, 3.      ...

  9. python学习笔记013——包package

    1 包(模块包)package 1.1 包的定义 包是将模块以文件夹的组织形式进行分组管理的方法 1.2 作用 分类管理,有利于防止命名冲突 可以在需要时加载一个或部分模块,而不是全部模块 mypac ...

  10. Linux中断 - softirq

    一.前言 对于中断处理而言,linux将其分成了两个部分,一个叫做中断handler(top half),是全程关闭中断的,另外一部分是deferable task(bottom half),属于不那 ...