72 lines
1.8 KiB
JavaScript
72 lines
1.8 KiB
JavaScript
const {defineConfig} = require('@vue/cli-service')
|
||
const postcssPxToViewport = require('postcss-px-to-viewport')
|
||
const path = require('path')
|
||
|
||
module.exports = defineConfig({
|
||
publicPath: './',
|
||
transpileDependencies: false, // 我们自己管,不让 CLI 插手
|
||
lintOnSave: false,
|
||
devServer: {client: {overlay: false}},
|
||
|
||
configureWebpack(config) {
|
||
// 调试
|
||
config.devtool = 'source-map'
|
||
// 别名
|
||
config.resolve.alias['@'] = path.resolve(__dirname, 'src')
|
||
|
||
/* 1. 追加 ini 规则 */
|
||
config.module.rules.push({
|
||
test: /\.ini$/,
|
||
use: 'raw-loader',
|
||
})
|
||
|
||
/* 2. 追加 ES5 规则(只转 src,不转 node_modules) */
|
||
// config.module.rules.push({
|
||
// test: /\.js$/,
|
||
// include: path.resolve(__dirname, 'src'),
|
||
// use: {
|
||
// loader: 'babel-loader',
|
||
// options: {
|
||
// presets: [
|
||
// [
|
||
// '@babel/preset-env',
|
||
// {
|
||
// targets: {ie: '11'}, // 强制 ES5
|
||
// corejs: 3,
|
||
// useBuiltIns: 'entry',
|
||
// },
|
||
// ],
|
||
// ],
|
||
// },
|
||
// },
|
||
// })
|
||
},
|
||
|
||
css: {
|
||
/* 你的 px-to-viewport 配置不动 */
|
||
loaderOptions: {
|
||
postcss: {
|
||
postcssOptions: {
|
||
plugins: [
|
||
postcssPxToViewport({
|
||
unitToConvert: 'px',
|
||
viewportWidth: 1920,
|
||
unitPrecision: 6,
|
||
viewportUnit: 'vw',
|
||
fontViewportUnit: 'vw',
|
||
propList: ['*'],
|
||
selectorBlackList: ['ignore-'],
|
||
minPixelValue: 1,
|
||
mediaQuery: false,
|
||
replace: true,
|
||
exclude: /node_modules/,
|
||
include: [],
|
||
landscape: false,
|
||
}),
|
||
],
|
||
},
|
||
},
|
||
},
|
||
},
|
||
})
|