Skip to content
On this page
字数:372 字
预计:1 分钟
阅读量:

Vite 问题记录

作者:winches
更新于:8 个月前

import.meta.glob问题记录

1. 在同一个模块不会重复调用

当你在一个组件内使用了import.meta.glob函数,如果这个组件复用了多次,这个模块的组件会复用第一次import.meta.glob的结果

该函数只会在组件第一次初始化的时候调用,后面的在组件实例会复用初始化时调用的结果

cmj和esm问题记录

默认导出的内容,不能用具名导入

// 1.ts
export default {
    a: 1,
    b: 2,
};

// 2.ts
import { a } from '1.ts'
// 这样是错误的,不能具名导入

require 不能动态拼接

cmj不能赋值导出

ts
// 错误的
const C = Oop.extend({
  // ...
})
module.exports = C

C.TENANT_SUB_VIEW_LIST = TENANT_SUB_VIEW_LIST

模块引用错误,引用值不存在

由于更新依赖的时候不会删除旧文件,导致本地运行的时候,三方依赖通过esm引用的旧文件内容,而该引用未设置值,在本地模块中会通过setValue设置值,本地setValue中引用的是新文件的内容,从而导致,三方依赖中会报错,引用值不存在(因为本地文件setValue调用的新文件,三方依赖用的旧文件)

解决办法:

直接删除node_modules .pnpm 里的旧文件

postcss 路径配置

postcss.config.js里的path路径可以指定在哪个地方寻找文件

js
require('postcss-import')({
  path: [
    path.resolve(__dirname, '../src'),
    path.resolve(__dirname, '../packages'),
    path.resolve(__dirname, '../node_modules'),
  ],
})

Made with ❤️