2020-10-10 19:54:44 +08:00
|
|
|
const path = require("path");
|
|
|
|
function resolve(dir) {
|
|
|
|
return path.join(__dirname, dir);
|
|
|
|
}
|
|
|
|
|
|
|
|
module.exports = {
|
|
|
|
devServer: {
|
|
|
|
disableHostCheck: true,
|
2020-10-23 15:59:04 +08:00
|
|
|
port: process.env.DEV_SERVER_PORT || 8080
|
2020-10-10 19:54:44 +08:00
|
|
|
},
|
|
|
|
pwa: {
|
|
|
|
name: "YesPlayMusic",
|
|
|
|
iconPaths: {
|
|
|
|
favicon32: "img/icons/favicon-32x32.png",
|
|
|
|
},
|
|
|
|
themeColor: "#ffffff00",
|
|
|
|
manifestOptions: {
|
|
|
|
background_color: "#335eea",
|
|
|
|
},
|
|
|
|
// workboxOptions: {
|
|
|
|
// swSrc: "dev/sw.js",
|
|
|
|
// },
|
|
|
|
},
|
|
|
|
pages: {
|
|
|
|
index: {
|
|
|
|
entry: "src/main.js",
|
|
|
|
template: "public/index.html",
|
|
|
|
filename: "index.html",
|
|
|
|
title: "YesPlayMusic",
|
|
|
|
chunks: ["chunk-vendors", "chunk-common", "index"],
|
|
|
|
},
|
|
|
|
},
|
|
|
|
chainWebpack(config) {
|
|
|
|
config.module.rules.delete("svg");
|
2020-10-22 19:17:20 +08:00
|
|
|
config.module.rule("svg").exclude.add(resolve("src/assets/icons")).end();
|
2020-10-10 19:54:44 +08:00
|
|
|
config.module
|
|
|
|
.rule("icons")
|
|
|
|
.test(/\.svg$/)
|
|
|
|
.include.add(resolve("src/assets/icons"))
|
|
|
|
.end()
|
|
|
|
.use("svg-sprite-loader")
|
|
|
|
.loader("svg-sprite-loader")
|
|
|
|
.options({
|
|
|
|
symbolId: "icon-[name]",
|
|
|
|
})
|
|
|
|
.end();
|
|
|
|
},
|
|
|
|
};
|