#node.js #typescript #visual-studio-code
Вопрос:
У меня есть библиотека машинописных текстов, которая является общей для множества проектов в нашем репозитории. Чтобы использовать библиотеку, нам пришлось перенести весь проект на typescript. Затем мы используем псевдоним модуля в нашем пакете.json, а затем, когда узел запускается, он берет .js.
псевдоним модуля требует, чтобы потребляющий проект был машинописным, и у нас есть тестовая платформа, написанная на javascript. Мы хотели бы удовлетворить следующие требования:
- Используйте транспилированный машинописный текст в этом проекте
- Не нужно запускать tsc вручную
- Запустите отладчик в vscode, как мы можем с нашими проектами машинописи
- Мы не хотим использовать репо NPM, потому что библиотеки часто редактируются одновременно.
Вот что мы используем для наших проектов с машинописным текстом, но поскольку проект является javascript, псевдоним модуля использовать нельзя.
пакет.json
{
"name": "",
...
"dependencies": {
"module-alias": "^2.2.2",
...
},
"devDependencies": {
"@types/node": "^14.14.37",
"@typescript-eslint/eslint-plugin": "^4.20.0",
"@typescript-eslint/parser": "^4.20.0",
"eslint": "^7.23.0",
"eslint-plugin-no-loops": "^0.3.0",
"typescript": "^4.2.3",
"module-alias": "^2.2.2",
...
},
"_moduleAliases": {
"common": "./out/common"
}
}
tsconfig.json
{
"compilerOptions": {
"target": "es6",
"module": "commonjs",
"sourceMap": true,
"outDir": "out/",
"strict": true,
"baseUrl": ".",
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true,
"noImplicitAny": true,
"allowJs": true,
"paths": {
"common/*" : ["../../common/*"],
},
},
"compileOnSave": true,
"exclude": [
"out/",
"node_modules/"
]
}
Комментарии:
1. В чем проблема? Транспонирование TS и его импорт должны работать нормально.
2. Почему вы не компилируете библиотеку yow?
3. Вы не предоставили никаких подробностей о том, что вы пробовали и что не удалось. ТАК что это не то место, где можно заставить людей делать всю вашу работу за вас. Мы здесь, чтобы помочь друг другу, когда мы застрянем.
4. Я добавил пакет.json и tsconfig.json, которые мы используем.