Open
Description
背景
比如,以下 TypeScript 代码:
import { add } from './filename'; // 引用相对路径的文件
import { mulitply } from './directory'; // 引用相对路径下的默认的 index.js 文件
在 esm 规范下,以上的写法属于不规范写法,@ice/pkg 亦不支持上述写法。正确的写法如下:
import { add } from './filename.js'; // 引用相对路径的文件
import { mulitply } from './directory/index.js'; // 引用相对路径下的默认的 index.js 文件
ice/pkg
需要提供路径默认补全能力,以及编译时报错能力,提前暴露问题。
存在以下导入场景:
import index from './src'; // 导入相对路径文件夹
import index from './src/index'; // 导入相对路径文件
import index from 'pkg/lib/index'; // 导入某 package.json 不存在 exports 字段的 lib 下的文件
import index from '@/index'; // 配置了 alias 的相对路径 - 这一类写法无需关系,最终会处理 alias 会转换为其他情况
方案
将使用 es-module-lexer 分析经各插件处理后的代码。若开启 autoPathcompletion,则默认为路径补全 .js
后缀。
import { defineConfig } from '@ice/pkg';
export default defineConfig({
autoPathcompletion: true
})