打字稿没有编译`node_modules`文件夹

时间:2019-06-13 11:15:25

标签: typescript

我不知道为什么TypeScript不编译node_modules文件夹中的任何内容。

这是我的tsconfig.json

{
  "compilerOptions": {
    "rootDir": ".",
    "baseUrl": ".",
    "paths": {
      "shared": ["./src/shared"],
      "client": ["./src/client"],
      "server": ["./src/server"],
      "express": ["./node_modules/express"]
    },
    "plugins": [
      {"transform": "ts-transformer-imports"}
    ],
    "esModuleInterop": true,
    "allowJs": true,
    "target": "es2015",
    "module": "commonjs",
    "outDir": "./build"
  },  
  "files": ["./src/server/app.ts"]
}

src/server/app.ts内部,我同时导入了expressshared

import shared from 'shared';
import express from 'express';

编译成功,并且生成sharedserver的编译代码。但是,由于某种原因,未生成express的代码!?

这对我来说绝对没有意义...它是否只是因为某个文件位于node_modules文件夹中而决定不编译某些内容?

我该如何解决?

编辑:我还尝试将其更改为配置文件中的"express/*": ["./node_modules/express/*"],没有任何区别。 (我不知道为什么会这样,但是我发现它在互联网上的某个地方)

1 个答案:

答案 0 :(得分:1)

为什么要从node_modules编译软件包?例如。 ./node_modules/express不包含任何TS文件。 NPM软件包通常随附您必须导入和使用的预构建(或预填充)JS代码。 如果您在导入时遇到困难,例如Express提供的功能,请确保您还安装了键入(@ types / express)

相关问题