module.exports = vuxLoader.merge(webpackConfig, { plugins: [ { // 自动替换页面路由 name: 'js-parser', test: /main\.js/, fn: function (source) { let list = fs.readFileSync(pagesPath, 'utf-8') list = JSON.parse(list) let str = [] for (var page in list) { let filename = page let path = `/${toDash(page)}` if (/#/.test(page)) { filename = page.split('#')[0] path = page.split('#')[1] } str.push(`{ path: '${path}', meta: {title: '${list[page]}'}, component: function (resolve) { require(['./pages/${filename}.vue'], resolve) } }`) } // 404 page str.push(`{ path: '*', component: function (resolve) { require(['./components/NotFoundComponent.vue'], resolve) } }`) str = `[${str.join(',\n')}]` source = source.replace('let routes = []', 'let routes = ' + str) return source } }, 'vux-ui', 'inline-manifest', 'progress-bar', 'duplicate-style', { // 主题个性化 name: 'less-theme', path: 'src/assets/less/theme.less' } ] })
记录一个问题:webpack 配置plugins的另外一种方式
最新推荐文章于 2024-07-13 09:15:00 发布