feat: 初始化
This commit is contained in:
commit
ac0d3b2f7d
54 files changed
+1808
No files matched your search
+101
@@ -0,0 +1,101 @@
|
||||
import { defineConfig, loadEnv } from "vite";
|
||||
import vue from "@vitejs/plugin-vue";
|
||||
import Components from "unplugin-vue-components/vite";
|
||||
import { VantResolver } from "unplugin-vue-components/resolvers";
|
||||
import postcsspxtoviewport from "postcss-px-to-viewport";
|
||||
import { createHtmlPlugin } from "vite-plugin-html";
|
||||
import VueSetupExtend from "vite-plugin-vue-setup-extend";
|
||||
import legacy from "@vitejs/plugin-legacy";
|
||||
import proxyConfig from "./proxy.config";
|
||||
import { appName, injectScriptStr } from "./config";
|
||||
import path from "path";
|
||||
|
||||
type enforceType = "post" | "pre";
|
||||
const enforceValue:enforceType = "post";
|
||||
const setCrossoriginUseCredentials = () => {
|
||||
return {
|
||||
name: "set-crossorigin",
|
||||
enforce: enforceValue,
|
||||
transformIndexHtml(html) {
|
||||
return html.replace(/crossorigin/g, "crossorigin=\"use-credentials\"");
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
// https://vitejs.dev/config/
|
||||
export default (opt: any) => {
|
||||
const { mode } = opt;
|
||||
const env: any = loadEnv(mode, process.cwd());
|
||||
|
||||
return defineConfig({
|
||||
base: "./",
|
||||
envDir: "./env",
|
||||
build: {
|
||||
target: "es2015"
|
||||
},
|
||||
plugins: [
|
||||
createHtmlPlugin({
|
||||
inject: {
|
||||
data: {
|
||||
title: appName,
|
||||
injectScript: injectScriptStr
|
||||
}
|
||||
}
|
||||
}),
|
||||
vue(),
|
||||
VueSetupExtend(),
|
||||
Components({
|
||||
resolvers: [VantResolver()]
|
||||
}),
|
||||
legacy({
|
||||
// targets: ['defaults', 'not IE 11'],
|
||||
targets: ["chrome 52"],
|
||||
additionalLegacyPolyfills: ["regenerator-runtime/runtime"],
|
||||
renderLegacyChunks: true,
|
||||
polyfills: [
|
||||
"es.symbol",
|
||||
"es.array.filter",
|
||||
"es.promise",
|
||||
"es.promise.finally",
|
||||
"es/map",
|
||||
"es/set",
|
||||
"es.array.for-each",
|
||||
"es.object.define-properties",
|
||||
"es.object.define-property",
|
||||
"es.object.get-own-property-descriptor",
|
||||
"es.object.get-own-property-descriptors",
|
||||
"es.object.keys",
|
||||
"es.object.to-string",
|
||||
"web.dom-collections.for-each",
|
||||
"esnext.global-this",
|
||||
"esnext.string.match-all"
|
||||
]
|
||||
}),
|
||||
setCrossoriginUseCredentials()
|
||||
],
|
||||
css: {
|
||||
preprocessorOptions: {
|
||||
less: {
|
||||
javascriptEnabled: true
|
||||
}
|
||||
},
|
||||
postcss: {
|
||||
plugins: [
|
||||
postcsspxtoviewport({
|
||||
viewportWidth: 375
|
||||
})
|
||||
]
|
||||
}
|
||||
},
|
||||
server: {
|
||||
proxy: proxyConfig
|
||||
},
|
||||
resolve: {
|
||||
alias: {
|
||||
"@": path.resolve(__dirname, "src")
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
};
|
||||
Reference in new issue
Block a user