import { defineConfig } from 'vite'; export default defineConfig({ build: { ssrManifest: true, cssCodeSplit: { // 设置为true,将为每个入口文件生成独立的CSS文件 exclude: [], }, rollupOptions: { input: { pc: resolve(__dirname, "src/pages/pc/index.html"), wap: resolve(__dirname, "src/pages/wap/index.html"), }, }, }, });
时间: 2024-04-28 12:21:28 浏览: 82
这是一个使用 Vite 构建工具的配置文件,其中包括以下设置:
- `ssrManifest` 为 true,表示启用服务器端渲染时的 manifest 文件生成。
- `cssCodeSplit` 用于控制 CSS 代码的拆分和输出,其中 `exclude` 可以指定需要排除的模块。
- `rollupOptions` 用于配置 Rollup 打包工具的选项,其中 `input` 指定了入口文件的路径。
这些设置可以根据具体项目的需求进行调整和扩展。
相关问题
import { createVitePlugins } from './build/vite/plugins'; import { initProxy } from './build/vite/proxy'; import { resolve } from 'path'; import { ConfigEnv, loadEnv, UserConfig } from 'vite'; import { wrapperEnv } from './build/utils'; const pathResolve = (dir: string) => { return resolve(process.cwd(), '.', dir); }; // https://vitejs.dev/config/ export default function ({ command, mode }: ConfigEnv): UserConfig { const isProduction = command === 'build'; const root = process.cwd(); const env = loadEnv(mode, root); const viteEnv = wrapperEnv(env); return { root, base:'./', resolve: { alias: [ { find: 'vue-i18n', replacement: 'vue-i18n/dist/vue-i18n.cjs.js', }, // /@/xxxx => src/xxxx { find: /\/@\//, replacement: pathResolve('src') + '/', }, // /#/xxxx => types/xxxx { find: /\/#\//, replacement: pathResolve('types') + '/', }, ], }, server: { host: true, hmr: true, proxy: initProxy(), }, plugins: createVitePlugins(viteEnv, isProduction), build: { assetsDir:'static', minify: 'terser', terserOptions: { compress: { //生产环境时移除console drop_console: true, drop_debugger: true, }, }, }, css: { preprocessorOptions: { scss: { // 配置 nutui 全局 scss 变量 additionalData: `@import "/@/styles/variables.scss";@import '/@/styles/mixin.scss';`, }, }, }, }; }在这段配置里,我要加入vuesetupextend这个插件,代码如何修改
要使用vuesetupextend插件,你需要先安装它。可以通过以下命令进行安装:
```
npm install --save-dev vuesetupextend
```
然后,在你的vite配置文件中,可以通过以下方式进行使用:
```
import { createVitePlugins } from './build/vite/plugins';
import { initProxy } from './build/vite/proxy';
import { resolve } from 'path';
import { ConfigEnv, loadEnv, UserConfig } from 'vite';
import { wrapperEnv } from './build/utils';
import vueSetupExtend from 'vuesetupextend';
const pathResolve = (dir: string) => {
return resolve(process.cwd(), '.', dir);
};
// https://vitejs.dev/config/
export default function ({ command, mode }: ConfigEnv): UserConfig {
const isProduction = command === 'build';
const root = process.cwd();
const env = loadEnv(mode, root);
const viteEnv = wrapperEnv(env);
return {
root,
base:'./',
resolve: {
alias: [
{
find: 'vue-i18n',
replacement: 'vue-i18n/dist/vue-i18n.cjs.js',
},
// /@/xxxx => src/xxxx
{
find: /\/@\//,
replacement: pathResolve('src') + '/',
},
// /#/xxxx => types/xxxx
{
find: /\/#\//,
replacement: pathResolve('types') + '/',
},
],
},
server: {
host: true,
hmr: true,
proxy: initProxy(),
},
plugins: [
vueSetupExtend(),
...createVitePlugins(viteEnv, isProduction),
],
build: {
assetsDir:'static',
minify: 'terser',
terserOptions: {
compress: {
//生产环境时移除console
drop_console: true,
drop_debugger: true,
},
},
},
css: {
preprocessorOptions: {
scss: {
// 配置 nutui 全局 scss 变量
additionalData: `@import "/@/styles/variables.scss";@import '/@/styles/mixin.scss';`,
},
},
},
};
}
```
需要注意的是,我们将vueSetupExtend插件放在了其他插件之前,这是因为它需要在其他插件之前进行处理。
vue3+ts+vite PurgeCSS 打包出现 error during build: Error: Dynamic require of "tailwindcss" is not supported
这个错误是因为 Vite 默认不支持动态导入 TailwindCSS。解决方案是使用 Vite 的插件 `vite-plugin-components` 来支持动态导入。你可以按照以下步骤来解决这个问题:
1. 安装 `vite-plugin-components`:
```bash
npm install vite-plugin-components -D
```
2. 在 `vite.config.ts` 中配置插件:
```typescript
import { defineConfig } from 'vite'
import Components from 'vite-plugin-components'
export default defineConfig({
plugins: [
Components({
// 你的 TailwindCSS 配置文件路径
customComponentResolvers: [
// `path` 是你的 TailwindCSS 配置文件路径
// `extension` 是你的样式文件扩展名
// `deep` 为 true 表示递归查找路径下的文件
{
path: 'path/to/tailwind.config.js',
extension: 'vue',
deep: true,
},
],
}),
],
})
```
3. 在 `main.ts` 中导入 TailwindCSS 样式文件:
```typescript
import './index.css'
```
然后你就可以在项目中使用 TailwindCSS 了。
阅读全文