webpack.config.js

const path = require('path');
const webpack = require('webpack');
const htmlWebpackPlugin = require('html-webpack-plugin');
const vueLoaderPlugin = require('vue-loader/lib/plugin'); //引入这行 module.exports = {
entry: './src/main.js',
output: {
path: path.resolve(__dirname, './dist'),
filename: 'boundle.js'
},
mode: 'development',
devServer: {
open: true,//自动打开浏览器
port: 3000,//运行端口号
contentBase: 'src',//指定跟目录
hot: true,//启用热更新
openPage: 'index.html'//设置默认启动页面
},
plugins: [
//配置插件的节点
new webpack.HotModuleReplacementPlugin(),//热更新
new vueLoaderPlugin(),
new htmlWebpackPlugin({
//创建一个内存中生成HTML页面的插件
//并且把打包的boundle.js自动注入到html页面中
template: path.join(__dirname, './src/index.html'),
filename: 'index.html'
})
],
module: {
rules: [
//第三方模块匹配规则
{
test: /\.css$/,
use: [
'style-loader',
{
loader: 'css-loader',
options: {
sourceMap: true
}
},
{
loader: 'postcss-loader',
options: {
ident: 'postcss',
sourceMap: true,
plugins: (loader) => {
require('autoprefixer')({ overrideBrowserslist: ['> 0.15% in CN'] })
}
}
}
]
},
{
//处理图片路径的loader
test: /\.(jpg|png|gif|bmp|jpeg)$/,
use: {
loader: 'url-loader',
options: {
limit: 8501,
//哈希-图片原名称。图片原后缀
name: '[hash:8]-[name].[ext]'
}
}
},
{
test: /\.(ttf|eot|svg|woff|woff2)$/,
use:['url-loader']
// use: {
// loader: 'url-loader',
// options: { // }
// }
},
// test:/\.(ttf|eot|woff|woff2|svg)$/,
// use:['file-loader']//1.把你的资源移动到输出目录2.返回最终引入资源的url
{
test: /\.js$/,
exclude: /(node_modules|bower_components)/,//排除这两个里面的JS不编译
use: {
loader: 'babel-loader',
}
},
{
test: /\.vue$/,
use: [
{
loader: 'vue-loader',
}
]
},
{
test: /\.scss$/,
use: ["style-loader", "css-loader", "sass-loader"]
}
]
}
};

package.json(VUE流派)

{
"name": "webpack-test",
"version": "1.0.0",
"description": "test",
"main": "main.js",
"dependencies": {
"jquery": "^3.4.1",
"node-sass": "^4.12.0",
"vue": "^2.6.10",
"webpack-dev-server": "^3.8.0"
},
"devDependencies": {
"autoprefixer": "^9.6.1",
"babel-core": "^6.26.3",
"babel-loader": "^7.1.5",
"babel-plugin-transform-runtime": "^6.23.0",
"babel-preset-env": "^1.7.0",
"babel-preset-stage-0": "^6.24.1",
"css-loader": "^3.2.0",
"file-loader": "^4.2.0",
"html-webpack-plugin": "^3.2.0",
"postcss-loader": "^3.0.0",
"sass-loader": "^8.0.0",
"style-loader": "^1.0.0",
"url-loader": "^2.1.0",
"vue-loader": "^15.7.1",
"vue-router": "^3.1.3",
"vue-template-compiler": "^2.6.10",
"vuex": "^3.1.1",
"webpack": "^4.39.3",
"webpack-cli": "^3.3.8"
},
"scripts": {
"dev2": "webpack-dev-server --open --port 3000 --contentBase src --hot",
"dev": "webpack-dev-server",
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC"
}

最新文章

  1. 关于Kean博客的学习
  2. 运行EFDC出现这样的错误:forrt1:severe<157>:Program Exception-access violation
  3. js获取数组中的最大值最小值
  4. Ubuntu下配置samba服务器实现文件共享
  5. HDU 2181 哈密顿绕行世界问题 (DFS)
  6. C#第三方控件的使用
  7. git 常用命令 创建查看删除分支,创建查看删除tag等
  8. Java开发工程师必会做试题
  9. Lowest Common Ancestor in Binary Tree
  10. Debug of bash , perl and python
  11. mongodb 限制ip访问
  12. Unity3d socket通信 切换到web版本时报错SecurityException解决办法
  13. 索引法则--LIKE以%开头会导致索引失效进而转向全表扫描(使用覆盖索引解决)
  14. 错误解决记录------------mysql连接本地数据库显示"can't get hostname for your address"
  15. Airtest iOS测试环境部署
  16. WPFのBorder的用法
  17. matplotlib绘图2
  18. vim more
  19. MongoDb进阶实践之八 MongoDB的聚合初探
  20. 02_HBase集群部署

热门文章

  1. OuterXml和InnerXml(2)
  2. VMware下Linux构建仅主机模式的局域网网络配置方案
  3. 多线程09-Mutex
  4. linux下的dd命令使用详解
  5. HDFS数据流——读数据流程
  6. 获取请求头中User-Agent工具类
  7. slot-scope 插槽 的使用 ——'<template slot-scope="page">'
  8. ajax图片上传(asp.net +jquery+ashx)
  9. Bootstrap框架如何设置导入链接
  10. 如何在Linux下手动编译安装gcc