创建目录,初始化package.json , 安装vue , 安装Webpack 和 Babel
# 新建目录,并且进入mkdir vue-webpack && cd $_# 创建 package.jsonnpm init -y# 安装 vue 依赖npm i vue# 安装 webpack 和 webpack-cli 开发依赖npm i webpack webpack-cli -D# 安装 babelnpm i babel-loader @babel/core @babel/preset-env -D# 安装 loadernpm i vue-loader vue-template-compiler -D# 安装 html-webpack-pluginnpm i html-webpack-plugin -D
然后在 src 文件夹下新建 App.vue 和 index.js 两个文件,内容如下:
// app.jsimport Vue from 'vue';import App from './app.vue';Vue.config.productionTip = false;new Vue({render: h => h(App)}).$mount('#app');
<template><div id="app">Hello Vue & Webpack</div></template><script>export default {};</script>
然后创建一个 HTML 文件 index.html :
<!DOCTYPE html><html lang="zh-CN"><head><meta charset="UTF-8" /><title>Webpack Vue Demo</title></head><body><div id="app"></div></body></html>
最后配置 webpack.config.js ,内容如下:
const HtmlWebpackPlugin = require('html-webpack-plugin');const VueLoaderPlugin = require('vue-loader/lib/plugin');module.exports = {resolve: {alias: {vue$: 'vue/dist/vue.esm.js'},extensions: ['*', '.js', '.vue', '.json']},module: {rules: [{test: /\.js$/,exclude: /node_modules/,use: {loader: 'babel-loader'}},{test: /\.vue$/,loader: 'vue-loader'}]},plugins: [new VueLoaderPlugin(),new HtmlWebpackPlugin({template: './src/index.html',filename: 'index.html'})]};
