参考
package.json
{
"name": "项目名称", //项目名称
"version": "1.0.0", //版本
"description": "vue+webapck", //形貌
"author": "Leo", //作者
"license": "MIT", //开源协定
"main": "index.js", //主文件
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "webpack-dev-server --inline --hot --port 8090"
}, //scripts指定了运转剧本敕令的npm敕令行缩写,比方这是的start指定了运转npm run start时,所要实行的敕令。
"dependencies": { //项目依靠
"vue": "^1.0.21",
"babel-runtime": "^6.0.0",
"vue-resource": "^0.6.1",
"vue-router": "^0.7.11"
},
"devDependencies": { //林林总总的loader,用来剖析想响应的文件花样。要剖析vue而且完成响应的功用,这些基础都是必需的。
"autoprefixer-loader": "^2.0.0",
"babel": "^6.3.13",
"babel-core": "^6.3.21",//ES2015 babel 编译中心
"babel-loader": "^6.2.0",//编译汇入 ES2015 类型的档案
"babel-plugin-transform-runtime": "^6.3.13",//polyfilling
"babel-preset-es2015": "^6.3.13",//es2015 语法
"babel-preset-stage-0": "*",//开启草稿阶段的功用
"babel-runtime": "^5.8.34",//babel 执行环境
"file-loader": "^0.8.5",//编译汇入档案类型的资源
"html-loader": "^0.3.0",
"css-loader": "^0.16.0",//编译汇入 css
"style-loader": "^0.12.3",//把编译后的 css 整合进 html
"node-sass": "^3.4.2",
"sass-loader": "^3.2.0",
"less": "^2.7.1",
"less-loader": "^2.2.3",
"url-loader": "^0.5.6",//编译汇入档案类型的资源,把档案转成 base64 等
"vue-style-loader": "*",//编译 vue 样式部分
"vue-html-loader": "^1.2.0",//编译 vue 的 template 部分
"vue-loader": "^7.2.0",//编译汇入 vue 元件档案
"vue-hot-reload-api": "*",//Hot reload API for Vue components
"webpack": "^1.12.0",//webapck 中心程式
"webpack-dev-server": "^1.14.0",//开发伺服器
"webpack-merge": "*"//合并设定档运用
},
"keywords": [ //关键字
"vue",
"webpack"
]
}
webpack.config.js
var path = require('path');
// NodeJS中的Path对象,用于处置惩罚目次的对象,进步开辟效力。
// 模块导入
module.exports = {
// 进口文件地点,不须要写完,会自动查找
entry: './src/main',
// 输出
output: {
path: path.join(__dirname, './dist'),
// 文件地点,运用绝对途径情势
filename: '[name].js',
//[name]这里是webpack供应的依据路口文件自动天生的名字
publicPath: '/dist/'
// 大众文件天生的地点
},
// 服务器设置相干,自动革新!
devServer: {
historyApiFallback: true,
hot: false,
inline: true,
grogress: true,
},
// 加载器
module: {
//疏忽:不编译的js文件
noParse: [
/node_modules\/video.js\/dist\/video.js/,//正则表达式
],
// 加载器
loaders: [
// 剖析.vue文件
{ test: /\.vue$/, loader: 'vue' },
// 转化ES6的语法
{ test: /\.js$/, loader: 'babel', exclude: /node_modules/ },
// 编译css并自动增加css前缀
{ test: /\.css$/, loader: 'style!css!autoprefixer'},
//.scss 文件想要编译,scss就须要这些东西!来编译处置惩罚
//install css-loader style-loader sass-loader node-sass --save-dev
{ test: /\.scss$/, loader: 'style!css!sass?sourceMap'},
// LESS
{ test: /\.less$/, loader: 'style!css!less' },
// 图片转化,小于8K自动转化为base64的编码
{ test: /\.(png|jpg|gif)$/, loader: 'url-loader?limit=8192'},
//html模板编译?
{ test: /\.(html|tpl)$/, loader: 'html-loader' },
]
},
// .vue的设置。须要零丁出来设置,实在没什么必要--由于我删了也没保错,不过这里就留这把,由于官网文档里是能够有零丁的设置的。
vue: {
loaders: {
css: 'style!css!autoprefixer',
}
},
// 转化成es5的语法
babel: {
presets: ['es2015'],
plugins: ['transform-runtime']
},
resolve: {
// require时省略的扩展名,如:require('module') 不须要module.js
extensions: ['', '.js', '.vue'],
// 别号,能够直接运用别号来代表设定的途径以及其他
alias: {
filter: path.join(__dirname, './src/filters'),
components: path.join(__dirname, './src/components')
}
},
// 开启source-map,webpack有多种source-map,在官网文档能够查到
devtool: 'eval-source-map'
};