在Typescript Vue项目中使用Javascript模块
问题 我正在尝试在我的Vue项目中使用。我尝试在组件中导入模块,如下所示:在Typescript Vue项目中使用Javascript模块,javascript,node.js,typescript,vue.js,node-modules,Javascript,Node.js,Typescript,Vue.js,Node Modules,问题 我正在尝试在我的Vue项目中使用。我尝试在组件中导入模块,如下所示: 从'@moonwave99/Fretboard.js'导入{Fretboard}; const fretboard=新的fretboard({ el:“#fretboard”, 颜色:“蓝色”, dotFill:“红色” }); 粉刷板([ { 字符串:5, 烦恼:3 }, { 字符串:4, 烦恼:2 }, { 字符串:2, 烦恼:1 } ]); 这将导致以下错误: Could not find a declarat
从'@moonwave99/Fretboard.js'导入{Fretboard};
const fretboard=新的fretboard({
el:“#fretboard”,
颜色:“蓝色”,
dotFill:“红色”
});
粉刷板([
{
字符串:5,
烦恼:3
},
{
字符串:4,
烦恼:2
},
{
字符串:2,
烦恼:1
}
]);
这将导致以下错误:
Could not find a declaration file for module '@moonwave99/fretboard.js'. '/Users/xxx/guitar-apps/node_modules/@moonwave99/fretboard.js/dist/fretboard.cjs.js' implicitly has an 'any' type.
Try `npm install @types/moonwave99__fretboard.js` if it exists or add a new declaration (.d.ts) file containing `declare module '@moonwave99/fretboard.js';`Vetur(7016)
我试过运行npm install@types/moonwave99\uu fretboard.js
命令,但这也导致了一个错误,即'@types/moonwave99\uu fretboard。js@latest'不在npm注册表中。
我已经到处找了,但是找不到适合我项目的解决方案。有人能解决我的问题吗
我尝试过的事情
声明模块'@moonwave99/fretboard.js
的声明文件“allowJs”:true
添加到我的tsconfig.ts文件{
"compilerOptions": {
"target": "esnext",
"module": "esnext",
"strict": true,
"jsx": "preserve",
"allowJs": true,
"importHelpers": true,
"moduleResolution": "node",
"experimentalDecorators": true,
"skipLibCheck": true,
"esModuleInterop": true,
"allowSyntheticDefaultImports": true,
"sourceMap": true,
"baseUrl": ".",
"types": [
"webpack-env",
"jest"
],
"paths": {
"@/*": [
"src/*"
]
},
"lib": [
"esnext",
"dom",
"dom.iterable",
"scripthost"
]
},
"include": [
"src/**/*.ts",
"src/**/*.tsx",
"src/**/*.vue",
"tests/**/*.ts",
"tests/**/*.tsx"
],
"exclude": [
"node_modules"
]
}
.d.ts
文件应位于tsconfig.json
中配置的include
路径之一,根据您发布的tsconfig.json
,即src
或测试。这些键入通常存储在src
根目录中(您将在vue CLI生成的项目中看到src/shimmers.vue.d.ts
)
您可以添加一个src/fretboard.d.ts
文件,其中包含声明模块'@moonwave99/fretboard.js'
。然后,您必须重新启动VS Code,以便正确地索引键入内容,从而解决错误。根据您发布的tsconfig.json
中配置的include
路径中的d.ts
文件,这就是src
或tests
。这些键入通常存储在src
根目录中(您将在vue CLI生成的项目中看到src/shimmers.vue.d.ts
)
您可以添加一个src/fretboard.d.ts
文件,其中包含声明模块'@moonwave99/fretboard.js'
。然后,您必须重新启动VS Code,以便正确地索引打字,从而解决错误。谢谢您,今天是19号,非常有用!现在,我的下一个挑战将是让这个组件正常工作:)谢谢你,19,工作起来很有魅力!现在,我的下一个挑战将是让该组件正常工作:)