123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163 |
- const path = require('path')
- const fs = require('fs')
- function resolve(dir) {
- return path.join(__dirname, dir)
- }
- const cdn = {
- css: [
- '//cdn-common.jianyu360.com/cdn/lib/v-charts/1.19.0/style.min.css'
- ],
- js: [
- '//cdn-common.jianyu360.com/cdn/lib/vue/2.7.16/vue.min.js',
- '//cdn-common.jianyu360.com/cdn/lib/vue-router/3.6.5/vue-router.min.js',
- '//cdn-common.jianyu360.com/cdn/lib/vuex/3.6.2/vuex.min.js',
- '//cdn-common.jianyu360.com/cdn/lib/axios/1.6.7/axios.min.js',
- '//cdn-common.jianyu360.com/cdn/lib/vant/2.12.24/lib/vant.min.js',
- '//cdn-common.jianyu360.com/cdn/lib/echarts/4.8.0/echarts.min.js',
- '//cdn-common.jianyu360.com/cdn/lib/v-charts/1.19.0/index.min.js',
- '//cdn-common.jianyu360.com/cdn/lib/lodash/4.17.21/lodash.min.js',
- '//res.wx.qq.com/open/js/jweixin-1.6.0.js'
- ]
- }
- const externals = {
- vue: 'Vue',
- 'vue-router': 'VueRouter',
- vuex: 'Vuex',
- axios: 'axios',
- 'echarts': 'echarts',
- 'v-charts': 'VeIndex',
- vant: 'vant',
- }
- let devServer = {
- proxy: { // 代理
- '/dev-api': {
- target: 'http://localhost:3333', //设置你调用的接口域名和端口号 别忘了加http
- ws: false, //如果要代理 websockets
- changeOrigin: true, //将主机标头的原点更改为目标URL
- pathRewrite: {
- '^/dev-api': ''
- }
- },
- '/salesLeads': {
- target: 'https://jybx2-webtest.jydev.jianyu360.com/',
- ws: false, //如果要代理 websockets
- changeOrigin: true, //将主机标头的原点更改为目标URL
- pathRewrite: {
- '^/salesLeads': '/salesLeads'
- }
- },
- '/filemanage': {
- // target: 'https://web-qmxtest.jydev.jianyu360.com',
- target: 'https://www.qmx.top',
- ws: false, //如果要代理 websockets
- changeOrigin: true, //将主机标头的原点更改为目标URL
- pathRewrite: {
- '^/filemanage': '/filemanage'
- }
- }
- // '/dev-api': {
- // target: 'http://localhost:3333', //设置你调用的接口域名和端口号 别忘了加http
- // ws: false, //如果要代理 websockets
- // changeOrigin: true, //将主机标头的原点更改为目标URL
- // pathRewrite: {
- // '^/dev-api': ''
- // },
- // },
- // '/service/public': {
- // target: 'http://localhost:3333', //设置你调用的接口域名和端口号 别忘了加http
- // ws: false, //如果要代理 websockets
- // changeOrigin: true, //将主机标头的原点更改为目标URL
- // pathRewrite: {
- // '^/service/public': ''
- // },
- // },
- // '/third-libs': {
- // target: 'http://localhost:3333', //设置你调用的接口域名和端口号 别忘了加http
- // ws: false, //如果要代理 websockets
- // changeOrigin: true, //将主机标头的原点更改为目标URL
- // pathRewrite: {
- // '^/third-libs': '/third-libs'
- // },
- // },
- // '/engine_libs': {
- // target: 'http://localhost:3333', //设置你调用的接口域名和端口号 别忘了加http
- // ws: false, //如果要代理 websockets
- // changeOrigin: true, //将主机标头的原点更改为目标URL
- // pathRewrite: {
- // '^/engine_libs': '/engine_libs'
- // },
- // }
- }
- }
- module.exports = {
- devServer: devServer,
- // 输出文件目录
- assetsDir: "static",
- outputDir: './service/public',
- // publicPath: "./service/public",
- publicPath: "./",
- // 修改 pages 入口
- pages: {
- index: {
- entry: 'client/main.js', // 入口
- template: 'public/engine-h5-long.html', // 模板
- filename: 'index.html', // 输出文件
- }
- },
- css: {
- loaderOptions: {
- scss: {
- sassOptions: {
- quietDeps: true,
- },
- additionalData: `@import "@client/common/styles/variables.scss";`
- },
- less: {
- lessOptions: {
- modifyVars: {
- hack: 'true; @import "@client/common/styles/vant.theme.less";'
- }
- }
- }
- // sass: {
- // // @/ 是 src/ 的别名
- // data: fs.readFileSync(path.resolve(__dirname, `./client/common/styles/variables.scss`), 'utf-8') // 公共变量文件注入
- // }
- }
- },
- // 扩展 webpack 配置
- chainWebpack: config => {
- if (process.env.NODE_ENV === 'production') {
- config.externals(externals)
- }
- // @ 默认指向 src 目录,这里要改成 examples
- // 另外也可以新增一个 ~ 指向 packages
- config.resolve.alias
- .set('@', path.resolve('client'))
- .set('@client', path.resolve('client'))
- .set('@plugins', path.resolve('plugins'))
- .set('@service', path.resolve('service'))
- config.module
- .rule('js')
- .include.add(/engine-template/).end()
- .include.add(/client/).end()
- .include.add(/common/).end()
- .use('babel')
- .loader('babel-loader')
- .tap(options => {
- // 修改它的选项...
- return options
- })
- // 移除 prefetch 插件,当页面太多时,会导致太多无意义的请求
- // config.plugins.delete('prefetch')
- }
- }
|