webpack是一个用于打包js文件的软件。
对于打包后的js文件其有如下特点:
npm init -y
npm i webpack webpack-cli -D -g
指令说明:https://www.cnblogs.com/itlkNote/p/6830682.html
webpack 将要打包的文件 --output 打包文件名
注意:如果js文件中使用require引入了另一个js文件那么webpack会自动搜索并一起打包。
module.exports={
entry : ”main.js”,//入口文件(你要打包的文件)
output : {//出口文件
filename:”build.js”,//文件名
path:__dirname + “/dist”//路径,__dirname表示当前路径
}
}
npm i style-loader css-loader -D
module.exports={
entry:’打包文件的路径’,
output:{
filename:’打包后文件的名称’,
path:__dirname+’文件夹’//__dir表示当前路径
},
module:{
rules:[
{
test:/\.css$/,
use:[‘style-loader’,’css-loader’]
}
]
}
}
npm i style-loader css-loader file-loader url-loader -D
module.exports={
entry:’打包的入口文件’,
output:{//出口文件
filename:’文件名’,
path:’文件路径(必须绝对路径)’
},
module:{
rules:[
{
test:/\.css$/,
use:[‘style-loader’,’css-loader’]
},
{
test:/\.(png|gif|jpg)$/,
use:[
{
loader:’url-loader’,
options:{
limit:20000 //单位为B
}
}
]
}
]
}
}
"babel-core": "^6.26.3",
"babel-loader": "^7.1.5",
"babel-plugin-transform-runtime": "^6.23.0",
"babel-preset-env": "^1.7.0",
参考上述
加入字段:
"babel":{
"presets": ["env"],//表示转换格式
"plugins": ["transform-runtime"]//确保vuejs可行
}
module.exports={
entry:’打包文件入口’,
output:{
filename:’文件名’,
path:’绝对路径’
},
module:{
rules:[
{
test:/\.js$/,
exclude:/node_modules/, //排除文件夹
use:[‘babel-loader’]
}
]
}
}
npm i -D …
"vue-loader": "^15.4.0",
"vue-template-compiler": "^2.5.17",
"style-loader": "^0.22.1",
"file-loader": "^1.1.11",
npm i -save vue
{{t}}
export default {
data(){
return{
t:'hello World!!'
};
},
methods: {
}
}
.app{
color: red;
}
import Vue from "vue";//引入核心文件
import temp from "../templates/hello.vue"//引入组件文件
var vm = new Vue({
el:'#app',
data:{
//添加一些数据
},
render(cl) {//使用作为根组件
return cl(temp);
},
methods:{
//添加一些方法
}
})
var vue_loader_plugin = require(“vue-loader/lib/plugin”);//配合vue加载器的辅助插件
//“这个插件是必须的!“它的职责是将你定义过的其它规则复制并应用到.vue文件里相应语言的块
module.exports={
entry:”main.js”,//入口
output:{
filename:”index.js”,
path:__dirname+”/dist”
},
module:{
rules:[
test::/\.vue$/,
use:[‘style-loader’,’vue-loader’]
]
},
plugins:[
new vue_loader_plugin()//使用引入的插件
]
}
"html-webpack-plugin": "^3.2.0",
"webpack": "^4.16.5",
"webpack-cli": "^3.1.0",
"webpack-dev-server": "^3.1.5"
添加代码:
"scripts": {
"test": "webpack-dev-server --inlink --hot --port 3333"
},
--inlink 表示自动打开浏览器
--hot表示自动刷新
--port表示端口
--host表示主机地址
提示:以下操作都处于webpack.config.js文件中
第一步:引入插件:
var cj = require(“html-webpack-plugin”);
第二步:使用插件:
plugins:[
new cj(options)
]
options:
类型:objcet
参数:
filename:渲染后文件名
template:网页模板路径
title:网页名称
说明:test是前面scripts里的属性