const { merge } = require('webpack-merge') const { resolve } = require('path') const moment = require('moment') const { defineConfig } = require('@vue/cli-service') const tsImportPluginFactory = require('ts-import-plugin') module.exports = defineConfig({ transpileDependencies: true, productionSourceMap: false, // 打包取消.map publicPath: './', pages: { indexPath: { entry: process.env.VUE_APP_ROOT + 'main.ts', template: process.env.VUE_APP_ROOT + 'index.html', filename: 'index.html', title: process.env.VUE_APP_TITLE, meta: { revised: moment(new Date()).format('v3.0.YYYYMMDDHHmmss') // 打包生成版本号 } } }, chainWebpack: (config) => { config.resolve.alias .set('@' + process.env.VUE_APP_ENV, resolve(__dirname, process.env.VUE_APP_ROOT)) config.module .rule('ts') .use('ts-loader') .tap((options) => { options = merge(options, { transpileOnly: true, getCustomTransformers: () => ({ before: [ // vant 按需引入 tsImportPluginFactory({ libraryName: 'vant', libraryDirectory: 'es', style: true }) ], compilerOptions: { module: 'es2015' } }) }) return options; }) } })