一、安装软件包
npm i amfe-flexible -Snpm i postcss-pxtorem@5.1.1 -Dnpm i babel-plugin-import -Dnpm i lib-flexible -S
二、修改babel.config.js
module.exports = { presets: ['@vue/cli-plugin-babel/preset'], plugins: [ [ 'import', { libraryName: 'vant', libraryDirectory: 'es', style: true }, 'vant' ] ]};
三、修改vue.config.js
const autoprefixer = require('autoprefixer');const pxtorem = require('postcss-pxtorem');module.exports = { outputDir: 'dist', publicPath: './', css: { loaderOptions: { postcss: { plugins: [ autoprefixer(), pxtorem({ rootValue: 37.5, propList: ['*'] }) ] } } }};
四、修改main.js
import 'amfe-flexible';import 'lib-flexible'import {createApp} from 'vue'import App from './App.vue'import router from './router'import store from './store'const app = createApp(App)app.use(store)app.use(router)app.mount('#app')
五、修改index.html
<!DOCTYPE html><html lang=""> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, viewport-fit=cover"> <link rel="icon" href="<%= BASE_URL %>favicon.ico"> <title><%= htmlWebpackPlugin.options.title %></title> </head> <body> <div id="app"></div> </body></html>
六、限制最大宽度(src/assets/style/index.less)
body { max-width: 560px; margin: 0 auto!important; padding: 0; box-sizing: border-box;}