Typescript未编译“节点\模块”文件夹

Typescript未编译“节点\模块”文件夹,typescript,Typescript,我不明白为什么TypeScript没有编译node\u modules文件夹中的任何内容 这是我的tsconfig.json: { "compilerOptions": { "rootDir": ".", "baseUrl": ".", "paths": { "shared": ["./src/shared"], "client": ["./src/client"], "server": ["./src/server"],

我不明白为什么TypeScript没有编译
node\u 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内部
I导入
express
shared

import shared from 'shared';
import express from 'express';
编译成功,并生成
共享
服务器
的编译代码。但是,由于某种原因,
express
的代码没有生成

这对我来说毫无意义。。。它是否会随机决定不编译某个文件,仅仅因为它位于名为
node\u modules
的文件夹中

我怎样才能解决这个问题


编辑:我还尝试在配置文件中将其更改为
“express/*”:[“/node\u modules/express/*”]
,但没有任何区别。(我不知道为什么会这样,但我在internet上的某个地方发现了)

为什么要从node_模块编译包?例如,../node_模块/express不包含任何TS文件。NPM包通常带有预构建(或预填充)的JS代码,您只需导入和使用这些代码。
如果从Express导入某些内容时遇到问题,请确保您也安装了打字(@types/Express)

为什么要从node_模块编译包?例如,../node_模块/express不包含任何TS文件。NPM包通常带有预构建(或预填充)的JS代码,您只需导入和使用这些代码。
如果您在从Express导入某些内容时遇到问题,请确保您也安装了打字(@types/Express)

我并不希望TypeScript在
node\u modules/Express
中编译代码,但我希望它将该代码添加到输出文件夹“/”中。我认为您不应该将其添加到输出中—您编译的代码可以从“节点\模块”导入它。您的build/dist/out文件夹应仅包含/src文件夹中的代码。您可以在这里阅读有关模块解析的内容:是的,在运行时从
node\u modules
解析模块更有意义。问题是,我有单独的客户端和服务器构建,它们共享一些相同的代码。服务器构建不应包含只有客户端使用的任何节点模块。我希望让TypeScript编译器通过查看服务器代码中的导入语句来确定哪些节点模块需要添加到
build
文件夹。您应该看看。这允许您将项目组织到共享、服务器和客户端“工作区”中,这些工作区还具有共享和分离的依赖关系。您可以检查TS项目引用以定义彼此之间的依赖关系,但它仍然只适用于您的包,而不适用于node_模块中的包。谢谢,我来看看。我并不希望TypeScript在
node_模块/express
中编译代码,但我希望它将该代码添加到输出文件夹“/”中。我认为您不应该将其添加到输出中—您编译的代码可以从“节点\模块”导入它。您的build/dist/out文件夹应仅包含/src文件夹中的代码。您可以在这里阅读有关模块解析的内容:是的,在运行时从
node\u modules
解析模块更有意义。问题是,我有单独的客户端和服务器构建,它们共享一些相同的代码。服务器构建不应包含只有客户端使用的任何节点模块。我希望让TypeScript编译器通过查看服务器代码中的导入语句来确定哪些节点模块需要添加到
build
文件夹。您应该看看。这允许您将项目组织到共享、服务器和客户端“工作区”中,这些工作区还具有共享和分离的依赖关系。您可以检查TS项目引用以定义彼此之间的依赖关系,但它仍然只适用于您的包,而不适用于node_模块中的包。谢谢,我来看看