【问题标题】:NodeJS-Typescript-Yarn : Error: Cannot find module 'd3'NodeJS-Typescript-Yarn:错误:找不到模块“d3”
【发布时间】:2020-10-30 10:14:46
【问题描述】:

我收到此错误,无法解析 d3 import 。我正在使用 Typescript@4.0.5 和 Yarn 文件 Layout.ts (Layout.js) 导入 d3 会引发错误。

import * as D3 from "d3";

和纱线构建

$ yarn build
yarn run v1.22.5
$ tsc && node dist/lib/index.js
internal/modules/cjs/loader.js:834
  throw err;
  ^

Error: Cannot find module 'd3'
Require stack:
- /home/github/my-app/dist/lib/graphs/Layout.js
- /home/github/my-app/dist/lib/index.js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:831:15)
    at Function.Module._load (internal/modules/cjs/loader.js:687:27)
    at Module.require (internal/modules/cjs/loader.js:903:19)
    at require (internal/modules/cjs/helpers.js:74:18)
    at Object.<anonymous> (/home/github/my-app/dist/lib/graphs/Layout.js:27:25)
    at Module._compile (internal/modules/cjs/loader.js:1015:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1035:10)
    at Module.load (internal/modules/cjs/loader.js:879:32)
    at Function.Module._load (internal/modules/cjs/loader.js:724:14)
    at Module.require (internal/modules/cjs/loader.js:903:19) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '/home/github/my-app/dist/lib/graphs/Layout.js',
    '/home/github/my-app/dist/lib/index.js'
  ]
}
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

还有我的 tsconfig,

{
    "compileOnSave": true,
    "compilerOptions": {
      "target": "es2018",                          /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */
      "module": "commonjs",                     /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */
      "lib": ["DOM","dom.iterable","ES2018.AsyncIterable","ES2017.TypedArrays","es2018", "esnext.asynciterable", "ES5", "ES6"],                             /* Specify library files to be included in the compilation. */
      "allowJs": true,                       /* Allow javascript files to be compiled. */
       "declaration": true,                   /* Generates corresponding '.d.ts' file. */
       "declarationMap": true,               
       "sourceMap": true,                     /* Generates corresponding '.map' file. */
       "outDir": "./dist",                        /* Redirect output structure to the directory. */
      /* Strict Type-Checking Options */
      "strict": true,                           /* Enable all strict type-checking options. */
      "types": [  
        "node",                              /* Type declaration files to be included in compilation. */
       ],         
      "esModuleInterop": true,                  /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */
     
      /* Experimental Options */
       "experimentalDecorators": true,        /* Enables experimental support for ES7 decorators. */
       "emitDecoratorMetadata": true,         /* Enables experimental support for emitting type metadata for decorators. */
      /* Advanced Options */
      //"skipLibCheck": true,                     /* Skip type checking of declaration files. */
      "forceConsistentCasingInFileNames": true  /* Disallow inconsistently-cased references to the same file. */
    }
  }

非常感谢任何帮助。提前致谢。

【问题讨论】:

    标签: node.js typescript d3.js import yarnpkg


    【解决方案1】:

    yarn 中有内置命令build。 您可以找到所有可能的选项here

    改用yarn install

    【讨论】:

    • error install 已被替换为 add 以添加新的依赖项。改为运行“yarn add @types/d3”。
    【解决方案2】:

    过了几天,又试了一次,找到了添加type d3的解决方案, 对于旧版本, 添加全局变量

    yarn install typings --global. 
    

    搜索名为 d3 的类型

    yarn typings search --name d3
    

    如果不存在,安装它,

    yarn typings install d3 --save. //for old versions
    yarn add @types/d3.  //latest versions
    

    它按预期工作!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-09-28
      • 2017-12-06
      • 1970-01-01
      • 2019-06-26
      • 1970-01-01
      • 2020-08-15
      • 2021-09-13
      相关资源
      最近更新 更多