webpack5搭建vue3时,在lang=“ts”时为什么components.d.ts不生效了?去掉lang=“ts”就好了。
1条回答 默认 最新
檀越@新空间 2024-08-12 16:28关注下午好🌅🌅🌅
本答案参考ChatGPT-3.5当您使用
ts作为编译器语言时,tsconfig.json文件中的moduleType属性设置为esnext或commonjs。然而,在构建过程中,您需要将moduleType设置为ts。这是因为使用typescript作为编译器会强制使用 TypeScript。要在 webpack 中启用组件导出和导入的 tsd 版本,可以使用以下配置:
{ "compilerOptions": { "target": "esnext", "module": "esnext", "lib": ["dom", "dom.iterable", "esnext.array如期"], "jsx": "react", "jsxFactory": function () { return function (props) { return <div>{props.children}</div>; } }, " declaration": true, "strict": true, "esModuleInterop": true, "noEmit": false, "include": ["src"] } }在这个配置中,我们设置
moduleType为esnext和commonjs。同时,我们还包含src目录及其子目录下的所有文件以支持 TypeScript。这样,在构建项目时,webpack 将会生成对应的dist目录及其子目录下的.d.ts文件。注意:如果没有安装 TypeScript,请先通过 npm 安装:
npm install --save-dev typescript现在您可以按照上面的示例重新构建项目,即可确保组件导出和导入在 TsD 版本下正常工作。
解决 无用评论 打赏 举报