Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Typescript Vue项目中使用Javascript模块_Javascript_Node.js_Typescript_Vue.js_Node Modules - Fatal编程技术网

在Typescript Vue项目中使用Javascript模块

在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

问题

我正在尝试在我的Vue项目中使用。我尝试在组件中导入模块,如下所示:


从'@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文件
  • 其他信息

    我的tsconfig看起来像:

    {
      "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,工作起来很有魅力!现在,我的下一个挑战将是让该组件正常工作:)