node.js - Typescript 中的 out 目录具有相同的目录结构,怎么样?

标签 node.js typescript ecmascript-6

问题:dist Typescript 输出目录的结构根据我的 server/app.ts 中导入的模块而变化。

目录server保存服务器( Node )文件,shared保存通用模型(类),而dist是输出目录:

├───dist
├───server
│       app.ts
│       tsconfig.json
│
├───shared
│       customer.model.ts
|       index.ts
│
│── package.json
│── tsconfig.json

如果我使用以下 server/app.ts 运行 tsc -p server:

import * as path from 'path';

// ..
console.log('Starting the server...');

这是输出 dist 文件夹:

└───server
        app.js
        app.js.map

一旦我导入shared/customer.model.ts:

import * as path from 'path';
import { Customer } from '../shared';

// ..
console.log('Starting the server...');

它变成:

└───server
    ├───server
    │       app.js
    │       app.js.map
    │
    └───shared
            customer.model.js
            customer.model.js.map
            index.js
            index.js.map

文件tsconfig.json:

{
  "extends": "../tsconfig.json",
  "compilerOptions": {
    "outDir": "../dist/server",
    "baseUrl": "./",
    "module": "commonjs"
  }
}

我想要一个可预测的目录结构,如下所示,我知道我应该使用 rootDirrootDirs 选项,但是我不知道怎么办:

├───server
│       app.js
│       app.js.map
│
└───shared
        customer.model.js
        customer.model.js.map
        index.js
        index.js.map

最佳答案

据我对此的理解FAQ ,这应该会产生所需的结构:

{
  "extends": "../tsconfig.json",
  "compilerOptions": {
    "rootDir": <path-to-the-parent of server, shared and dist>
    "outDir": "../dist",

关于node.js - Typescript 中的 out 目录具有相同的目录结构,怎么样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50223527/

相关文章:

特定于平台的新行的 Node.JS 常量?

node.js - 我应该在哪里存储自定义 CLI npm 模块的缓存?

javascript - PrismaService onModuleInit 在 NestJs 中被多次调用

javascript - 如何用 moment.js 改变时间?

typescript - React-styledComponents : Types of property 'children' are incompatible

javascript - 导入具有模块作为属性的对象数组在导入两次时返回未定义

javascript - 如何链接原生 Javascript Promise?

javascript - 如何从 Express/Jade 中的查询迭代和解析 JSON?

Javascript reduce() 查找字符串中最短的单词

javascript - 可以用浮点格式表示日期时间吗?