UNPKG

@cyber-tools/spa-build-tools

Version:

单页应用核心构建组件

40 lines (37 loc) 1.14 kB
const path = require("path"); const HtmlWebpackPlugin = require("html-webpack-plugin"); const MiniCssExtractPlugin = require("mini-css-extract-plugin"); const babelRules = require("@/configs/babel.rules"); const styleRules = require("@/configs/style.rules"); const resourcesRules = require("@/configs/resources.rules"); const getPluginFileList = require("@/utils/getPluginFileList"); const { source, loaderIgnore } = require("@/utils/getProjectConfig")(); module.exports = { devtool: "source-map", entry: (async () => { const pluginFileList = await getPluginFileList(); return [...pluginFileList, path.resolve(process.cwd(), source, "index.js")] }), resolve: { alias: { "@": path.resolve(process.cwd(), source) }, extensions: [".ts", ".js", ".jsx", ".tsx", ".json"] }, module: { rules: [ ...babelRules({ loaderIgnore }), ...styleRules({ loaderIgnore }), ...resourcesRules({ loaderIgnore }) ] }, plugins: [ new HtmlWebpackPlugin({ template: path.join(process.cwd(), source, "index.html") }), new MiniCssExtractPlugin({ filename: "[name][hash:8].css", chunkFilename: "[id].css" }) ] };