- 熟悉webpack4
- 熟悉Vue2.x
电脑需要准备的环境:
- VS code 或者 HBuilderX
- node.js (长期支持版本: 10.16.3)
npm init
npm install webpack webpack-cli --save-dev
# 或者-D,因为 --save-dev = -D
npm install -g moduleName
# -g 的意思是将模块安装到全局,具体安装到磁盘哪个位置
# moduleName为要安装的东西
# 要看 npm config prefix 的位置。
npm install -save moduleName
# -save 的意思是将模块安装到项目目录下
# 并在package文件的dependencies节点写入依赖。
npm install -save-dev moduleName
# -save-dev 的意思是将模块安装到项目目录下
# 并在package文件的devDependencies节点写入依赖。
console.log("我是main.js")
在根目录下新建文件:
webpack.config.js
输入以下代码:
const path = require('path')// 指定相对目录路径
module.exports = {
entry: './src/main.js', //入口文件
output: {
//node.js中__dirname变量获取当前模块文件所在目录的完整绝对路径
path: path.resolve(__dirname, './src/dist'), //输出文件目录
filename: 'index.js' //输出文件
}
}
进行文件打包,命令行输入:
npx webpack --config webpack.config.js
并输出了index.js文件
cnpm install webpack vue vue-loader -D
cnpm install webpack css-loader -D
cnpm install vue-template-compiler -D
<template>
<div>
你好 {{ data }}
</div>
</template>
<script>
export default {
data(){
return {
data: "涛涛"
}
}
}
</script>
<style scoped>
</style>
需要在webpack里面配置loader
import Vue from 'vue'
import App from './app.vue'
const root = document.createElement('div')
document.body.appendChild(root)
new Vue({
render: (h) => h(App)
}).$mount(root)
const path = require('path');
const VueLoaderPlugin = require('vue-loader/lib/plugin');
module.exports = {
entry: path.resolve(__dirname, 'src/main.js'), //入口文件
output: {
//node.js中__dirname变量获取当前模块文件所在目录的完整绝对路径
path: path.resolve(__dirname, 'src/dist'), //输出位置
filename: 'index.js' //输入文件
},
mode: 'production', //暂时指定为生产环境
module: {
rules: [{
test: /\.vue$/, //规则,支持z正则表达式
loader: 'vue-loader'
}]
},
plugins: [
new VueLoaderPlugin()
]
}
在package.json的”scripts”里添加:
"build": "webpack --config webpack.config.js"
(实际上这个”build”就是”npm run build”里面的”build”,为了每次方便编译预先写好)
输入命令进行打包:
npm run build
我们需要验证打包文件时候是否正确
所以这里使用插件HtmlWebpackPlugin
帮我们自动创建html文件
并且在后续的hash文件名上很有用
具体可以看官方介绍
命令行输入:
cnpm install html-webpack-plugin -D
再次修改webpack.config.js代码,引入插件:
const path = require('path');
const VueLoaderPlugin = require('vue-loader/lib/plugin');
var HtmlWebpackPlugin = require('html-webpack-plugin')
module.exports = {
entry: path.resolve(__dirname, 'src/main.js'), //入口文件
output: {
//node.js中__dirname变量获取当前模块文件所在目录的完整绝对路径
path: path.resolve(__dirname, 'src/dist'), //输出位置
filename: 'index.js' //输入文件
},
mode: 'production', //暂时指定为生产环境
module: {
rules: [{
test: /\.vue$/, //规则,支持z正则表达式
loader: 'vue-loader'
}]
},
plugins: [
new VueLoaderPlugin(),
new HtmlWebpackPlugin()
]
}
转载请注明:XAMPP中文组官网 » webpack4与Vue2.x之间的暧昧关系