Настройка проекта Typescript (первый раз)

Во-первых, я не видел четкого ответа после нескольких часов поиска в Google, извините, если я что-то упустил.

Быстрая версия С Typescript, как я могу двигаться node_modules в outDir или я поступаю неправильно?

Длинная версия Я пытаюсь начать работу с машинописью, и настройка проекта кажется самой сложной частью. Моя цель - иметь мой исходный код в src/server и мой вывод будет в bin/server

Вот мой tsconfig.json для справки:

{
    "compilerOptions": {
        "allowJs": true,
        "emitDecoratorMetadata": true,
        "experimentalDecorators": true,
        "module": "commonjs",
        "moduleResolution": "node",
        "noEmitOnError": true,
        "noImplicitAny": false,
        "outDir": "../../bin",
        "sourceMap": true,
        "suppressImplicitAnyIndexErrors": true,
        "target": "ES2015",
        "typeRoots": [
        "../../node_modules/@types/"
        ]
    },
    "exclude": [
        "bin/*",
        "node_modules/*",
        "public/*",
        "**/*-aot.ts"
    ]
}

Вот структура каталогов:

Project
+-/bin
|  +/server
|     +-server.js
+-/src
  +/server
    +-server.ts
    +-package.json
    +-/node_modules
       +-[...]
    +-/typings
       +-[...]

Компилировать из ~/Project я использую tsc -p src/serverбум у нас есть bin/server/server.js,

Для запуска я использую против кода, вот launch.json:

{
    "version": "0.2.0",
    "configurations": [{
        "outFiles": [ "${workspaceRoot}/bin/server/**/*.js" ],
        "cwd": "${workspaceRoot}/bin/server",
        "name": "Launch",
        "type": "node",
        "request": "launch",
        "program": "${workspaceRoot}/src/server/server.ts",
        "sourceMaps": true,
        "env": {
            "NODE_ENV": "development",
            "SERVER": "http://localhost:8080"
        }
    }]
}

Я получаю ошибку Error: Cannot find module 'express'модуль установлен в src/server/node_modules/express так что я думаю, мне нужно двигаться node_modules в bin/server также? Это не кажется правильным.

Супер новичок в машинописи (начал сегодня) спасибо, что нашли время, чтобы прочитать мой длинный пост.

PS: Предположим, все на последней версии.

1 ответ

Ответ найден!

Я переместил tsconfig.json в src/server/ и побежал tsc -p src/server из корня проекта.

Обновленный tsconfig.json для справки:

{
    "compilerOptions": {
        "allowJs": true,
        "emitDecoratorMetadata": true,
        "experimentalDecorators": true,
        "module": "commonjs",
        "moduleResolution": "node",
        "noEmitOnError": true,
        "noImplicitAny": false,
        "outDir": "../../bin",
        "sourceMap": true,
        "suppressImplicitAnyIndexErrors": true,
        "target": "ES2015",
        "typeRoots": ["node_modules/@types/"]
    },
    "exclude": [
        "bin/*",
        "node_modules/*",
        "public/*",
        "**/*-aot.ts"
    ]
}
Другие вопросы по тегам