'use strict'
const VueLoaderPlugin = require('vue-loader/lib/plugin')
var MiniCssExtractPlugin = require('mini-css-extract-plugin')
const StyleLintPlugin = require('stylelint-webpack-plugin')
module.exports = {
mode: 'development', /* 设置为开发环境*/
module: {
rules: [
{
test: /\.vue$/,
loader: 'vue-loader',
options: {
hotReload: true /* 开启热重载*/
}
},
/* 应用普通的js以及vue中的js*/
{
test: /\.js$/,
loader: 'babel-loader'
},
/* 将应用到普通的.css文件中以及vue中<style> */
{
test: /\.css$/,
use: [
process.env.NODE_ENV !== 'production' ? 'vue-style-loader' : MiniCssExtractPlugin.loader
],
loader: [
'vue-style-loader',
'css-loader',
{
loader: 'sass-loader',
options: {
indentedSyntax: true,
sassOptions: {
indentedSyntax: true
}
}
}
]
},
/* 关于ts的规则配置
* 安装ts-loader的命令: npm install -D typescript ts-loader
* */
{
test: /\.ts$/,
loader: 'ts.loader',
options: { appendTsSuffixTo: [/\.vue$/] }
},
/* 一个返回原始的 HTML 字符串的 loader
* 安装pug-plain-loader的命令: npm install -D pug pug-plain-loader
*
* */
{
test: /\.pug$/,
loader: 'put-plain-loader'
},
/* 进行代码校验
* 安装eslint代码校验器: npm install -D eslint eslint-loader
*
* */
{
enforce: 'pre',
test: /\.(js|vue)$/,
loader: 'eslint-loader',
exclude: /node-modules/
},
/* Vue 单文件组件的样式部分的代码校验
* 安装命令: npm install -D styleint-webpack-plugin
* */
]
},
plugins: [
/* 确保引入这个插件来实行加载运行*/
new VueLoaderPlugin,
new MiniCssExtractPlugin({
filename: 'style.css'
}),
new StyleLintPlugin({
files: ['**/*.{vue,htm,html,css,sss,less,scss,sass}'],
})
]
}
关于vue-loader的配置
最新推荐文章于 2025-05-14 14:41:36 发布