加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
vue.config.js 4.68 KB
一键复制 编辑 原始数据 按行查看 历史
李成 提交于 2021-08-16 11:17 . '完整版工作流'
// const path = require("path");
// function resolve(dir) {
// return path.join(__dirname, ".", dir);
// }
// const webpack = require("webpack");
// const IncludeAssetsPlugin = require("html-webpack-include-assets-plugin");
// const CopyWebpackPlugin = require("copy-webpack-plugin");
// const UglifyJsPlugin = require("uglifyjs-webpack-plugin");
// const CompressionWebpackPlugin = require("compression-webpack-plugin");
// const ThemeColorReplacer = require("webpack-theme-color-replacer");
// const { getThemeColors, modifyVars } = require("./src/common/theme/themeUtil");
// const {
// resolveCss
// } = require("./src/common/theme/theme-color-replacer-extend");
// const isProduction = process.env.NODE_ENV === "production";
// let glob = require("glob");
// function getEntry(globPath) {
// let entries = {},
// basename,
// tmp,
// pathname;
// glob.sync(globPath).forEach(function(entry) {
// basename = path.basename(entry, path.extname(entry));
// tmp = entry.split("/").splice(-3);
// pathname = basename; // 正确输出js和html的路径
// var fileIs = glob.sync(entry + tmp[1] + ".html");
// if (tmp[1] === "common") {
// return;
// }
// entries[pathname] = {
// entry: "src/" + tmp[0] + "/" + tmp[1] + "/main.js",
// template: fileIs.length
// ? "src/" + tmp[0] + "/" + tmp[1] + "/" + tmp[1] + ".html"
// : "public/index.html",
// title: "",
// filename: tmp[1] + ".html",
// chunks: ["chunk-vendors", "chunk-common", pathname]
// };
// });
// return entries;
// }
// module.exports = {
// publicPath: process.env.BASE_URL,
// productionSourceMap: false,
// pluginOptions: {
// "style-resources-loader": {
// preProcessor: "less",
// patterns: [path.resolve(__dirname, "./src/assets/styles/theme.less")]
// }
// },
// chainWebpack: config => {
// config.module.rules.delete("svg");
// config.module
// .rule("svg-sprite-loader")
// .test(/\.svg$/)
// .include.add(resolve("src/assets/icons"))
// .end()
// .use("svg-sprite-loader")
// .loader("svg-sprite-loader")
// .options({
// symbolId: "icon-[name]"
// });
// // 生产环境下关闭css压缩的 colormin 项,因为此项优化与主题色替换功能冲突
// if (isProduction) {
// config.plugin("optimize-css").tap(args => {
// args[0].cssnanoOptions.preset[1].colormin = false;
// return args;
// });
// }
// },
// css: {
// // extract: true,
// loaderOptions: {
// less: {
// javascriptEnabled: true,
// modifyVars: modifyVars(),
// lessOptions: {
// modifyVars: modifyVars()
// }
// }
// }
// },
// pages: getEntry("./src/pages/**?/"),
// configureWebpack: config => {
// if (isProduction) {
// config.plugins.push(
// new UglifyJsPlugin({
// uglifyOptions: {
// compress: {
// drop_debugger: true,
// drop_console: true
// }
// },
// sourceMap: false,
// parallel: true
// })
// );
// config.plugins.push(
// new CompressionWebpackPlugin({
// algorithm: "gzip",
// test: new RegExp("\\.(" + ["js", "css"].join("|") + ")$"),
// threshold: 10240,
// minRatio: 0.8
// })
// );
// config.plugins.push(
// new webpack.optimize.LimitChunkCountPlugin({
// maxChunks: 5,
// minChunkSize: 100
// })
// );
// }
// config.plugins.push(
// new ThemeColorReplacer({
// fileName: "css/theme-colors-[contenthash:8].css",
// matchColors: getThemeColors(),
// injectCss: true,
// resolveCss
// })
// );
// return {
// devtool: "cheap-source-map",
// externals: {
// vue: "Vue",
// "vue-router": "VueRouter",
// moment: "moment",
// vuex: "Vuex",
// "ant-design-vue": "antd"
// },
// plugins: [
// new webpack.DllReferencePlugin({
// context: __dirname,
// manifest: path.resolve(__dirname, "dll", "manifest.json")
// }),
// new IncludeAssetsPlugin({
// assets: [
// {
// path: "dll",
// glob: "*.js",
// globPath: path.join(__dirname, "dll")
// }
// ],
// append: false
// }),
// new CopyWebpackPlugin([
// {
// from: path.join(__dirname, "dll"),
// to: path.join(__dirname, "dist", "dll")
// }
// ])
// ]
// };
// }
// };
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化