找不到模块“正则表达式路径”

时间:2019-11-24 00:30:50

标签: javascript node.js typescript

我正在尝试在我的打字稿项目中使用库path-to-regexp,但是由于某种原因,它不允许我导入它。我使用有npm install path-to-regexp --save和没有--save的{​​{1}}来尝试使其正常工作,但这没有任何改变。

我的package.json说我已经安装了("path-to-regexp": "^6.1.0"),所以让我感到困惑,为什么vscode会说找不到它。

在node_modules文件夹中,我确实在其中安装了正则表达式路径。我什至尝试删除node_modulespackage-lock.json,然后运行npm i,但这并没有任何改变。

我正在尝试使用es2015模块将其导入为import * as pathToRegexp from 'path-to-regexp'

1 个答案:

答案 0 :(得分:0)

我发现了问题。 该模块的结构导致Typescript的导入系统存在两个不同的dist文件夹的问题。

│   History.md
│   LICENSE
│   package.json
│   Readme.md
│
├───dist
│       index.d.ts
│       index.js
│       index.js.map
│       index.spec.d.ts
│       index.spec.js
│       index.spec.js.map
│
└───dist.es2015
        index.js
        index.js.map
        index.spec.js
        index.spec.js.map

我要做的就是用打字稿配置选择其中之一:

  "compilerOptions": {
    "baseUrl": "./",
    "paths": {
      "path-to-regexp": ["node_modules/path-to-regexp/dist/index"]
    }
  }

EDIT 2.0 !!!!! 简单的解决方法是设置编译器选项"moduleResolution": "node"