vite编译html-docx.js提示With statements cannot be used with the “esm“ output format due to strict mode
报错解释:
这个错误是由于在使用 Vite 打包工具时,尝试使用了不兼容 ES Module(ESM)输出格式的代码。具体来说,html-docx.js
模块中可能使用了不被推荐使用的 with
语句,而 Vite 默认配置输出为 ES Module 格式,这与 with
语句的使用方式不兼容。
解决方法:
- 查看
html-docx.js
的源码,看是否有使用with
语句,如果有,考虑替换为其他逻辑,如const
声明。 - 如果你不能修改
html-docx.js
源码,可以尝试将其引入到一个不使用with
语句的文件中,然后再导出所需的功能。 - 如果你需要在项目中继续使用带有
with
语句的代码,可以修改 Vite 配置文件(通常是vite.config.js
或vite.config.ts
),将输出格式改为 CommonJS,即设置build.lib
的formats
为cjs
。
示例配置:
export default {
build: {
lib: {
formats: ['cjs']
}
}
};
请注意,使用 CommonJS 格式会导致其他兼容性问题,因此首选方法是替换掉 with
语句。
评论已关闭