vue-cli-plugin-vite
vue-cli-plugin-vite copied to clipboard
无法配置preserveSymlinks 选项
export default {
configureWebpack: {
plugins: plugins,
resolve: {
alias: {},
extensions: [".mjs", ".js", ".ts", ".jsx", ".tsx", ".json", ".vue"],
symlinks: true,
preserveSymlinks: true,
dedupe: true,
},
},
pluginOptions: {
quasar: {
treeShake: true,
},
vite: {
resolve: {
alias: {
vue$: "vue/dist/vue.runtime.esm.js",
"quasar-variables-styl": "quasar/src/css/variables.styl",
"~quasar-variables-styl": "quasar/src/css/variables.styl",
"quasar-styl": "quasar/dist/quasar.styl",
"quasar-addon-styl": "quasar/src/css/flex-addon.styl",
"~quasar-addon-styl": "quasar/src/css/flex-addon.styl",
"@hightlight": "./public/hightlight",
},
dedupe: true,
preserveSymlinks: true,
},
vitePluginVue2Options: {
jsx: true,
},
disabledTypeChecker: true,
disabledLint: true,
},
},
};
问题1: pluginOptions.vite.resolve.preserveSymlinks 和 configureWebpack.resolve.preserveSymlinks 设置后都无法起作用;
问题2: 文档指出可以自动处理vue-cli 配置的alias,但是一些ui插件库注入的alias 无法获取
symlinks 没支持,你可以看下 vite 是否有等价的,PR Welcome。
alias 我是从 webpack 里读取的,第三方 ui 库怎么会往用户项目里注入 alias,不懂。只支持 vue-cli-plugin 注入的 alias
symlinks 没支持,你可以看下 vite 是否有等价的,PR Welcome。
alias 我是从 webpack 里读取的,第三方 ui 库怎么会往用户项目里注入 alias,不懂。只支持 vue-cli-plugin 注入的 alias
我断点看了下,通过 vue-cli inspect 获取到的alias 和 通过vueConfig.chainWebpack 获取到的alias 不一样,有的第三方库写了个vue-cli-plugin 注入了alias. vue-cli-plugin-vite 和其他的vue-cli-plugin 执行的顺序是否会影响到vue-cli-plugin-vite获取alias 的最终值
我觉得和顺序没关系,注入是一个阶段,resolve 后通过 chainWebpack 拿是下一个阶段,应该是可以拿到的。内置的 alias 也是注入的,和第三方 plugin 应该一样啊
symlinks 没支持,你可以看下 vite 是否有等价的,PR Welcome。
alias 我是从 webpack 里读取的,第三方 ui 库怎么会往用户项目里注入 alias,不懂。只支持 vue-cli-plugin 注入的 alias
vite 有等价的配置可以设置 symlinks,但是vue-cli-plugin-vite 没有提供配置的入口,vue-cli-plugin-vite/config/index.ts 作为vite的启动配置文件,文件里只修改了plugins optimizeDeps,其他设置都没法修改。vue-cli-plugin-vite/config/options 也没有提供修改vite 相关的其他配置。我不知道这样做的最初想法是什么,有什么顾虑吗,我也不好贸然下手改代码。
没有顾虑,就是一一对应精力有限,只弄了常用的。你可以看下怎么专为 vite 的,加配置项目或者直接读取然后设置给 vite
plugin 问题要不你试下在你项目里,把 vite 插件弄到最后一个?
plugin 问题要不你试下在你项目里,把 vite 插件弄到最后一个?
项目启动流程 node ./bin/vite 然后走的是vite 指令 然后读取的vue-cli-plugin-vite/config/index.ts的配置,vue-cli-plugin-其他插件 并不会触发执行,因为插件是vue-cli-service 指令 运行时才会执行,所以插件注入的alias 并不会生效,只有配置在vue.config.js里的alias 可以解析到,这个问题也可以先vue inspect 获取插件注入的alias ,手动添加到vue.config.js配置中。vue-cli 好像有api 提供获取运行时的配置,没有仔细研究过。
https://github.com/IndexXuan/vite-plugin-vue-cli/blob/main/src/index.ts#L82
哦,太久了。想起来了,本插件并不会执行 vue-cli-plugin-*
,只能处理用户在 vue.config.js 注入的自定义 alias。第三方 plugin 注入 alias 给用户,不太好吧。暂时没法支持。