1. cnpm i -d webpack webpack-cli
1. cnpm i -d webpack-dev-server
url-loader依赖file-loader
1. cnpm i -d url-loader file-loader
1. cnpm i -d css-loader style-loader
1. cnpm i -d stylus stylus-loader 2. cnpm i -d postcss-loader
1. cnpm i -d autoprefixer
1. cnpm i -d html-webpack-plugin
兼容es6写法
1. cnpm i -d babel-core babel-preset-env babel-loader
1. cnpm i -d vue vue-loader vue-style-loader vue-template-loader
if using babel 7, use 4.x if using babel 6, use 3.x cnpm i -d babel-plugin-syntax-jsx babel-plugin-transform-vue-jsx babel-helper-vue-jsx-merge-props babel-preset-env
cnpm i -d cross-env
const path = require('path') const vueloaderplugin = require('vue-loader/lib/plugin') const htmlplugin = require('html-webpack-plugin') const webpack = require('webpack') const isdev = process.env.node_env === 'development'; module.exports = { target:"web", mode:isdev ? 'development' : 'production', devtool:"#cheap-module-eval-source-map", devserver:isdev === 'development' ? { port:8080, contentbase:path.join(__dirname,'dist'), host:'0.0.0.0', overlay:{ errors:true }, hot:true } : {}, entry:path.join(__dirname,'src/index.js'), output:{ filename:'bundle.js', path:path.join(__dirname,'dist') }, module:{ rules:[ { test:/\.vue$/, use:{ loader:'vue-loader' } }, { test:/\.jsx$/, use:{ loader:'babel-loader' } }, { test:/\.css$/, use:[ 'style-loader', 'vue-style-loader', 'css-loader' ] }, { test:/\.styl/, use:[ 'style-loader', 'css-loader', 'postcss-loader', 'stylus-loader' ] }, { test:/\.(gif|jpg|jpeg|png|svg)/, use:{ loader:'url-loader', options:{ limit:1024, name:'[name].[ext]' } } } ] }, plugins: [ new vueloaderplugin(), new htmlplugin({ filename:'', template:'' }), new webpack.namedmodulesplugin(), new webpack.hotmodulereplacementplugin() ] }
//.babelrc { "presets":[ "env" ], "plugins":[ "transform-vue-jsx" ] } //postcss.config.js const autoprefixer = require('autoprefixer') module.exports = { plugins:[ autoprefixer() ] }
如对本文有疑问, 点击进行留言回复!!
asp.net中ajax和一般处理程序(handler.ashx)的交互
egg.js创建项目,目录介绍,简单使用,sequelize mysql使用
网友评论