В настоящее время я учусь использовать машинопись, но у меня есть проблема с VS Code. Я создал базовый проект с Babel 7 и парой плагинов.
Я запускаю скрипт, используя команду npm run dev .
Вот полный список моих зависимостей:
//package.json
"scripts": {
"dev": "nodemon src/index.ts --extensions \".ts\" --exec babel-node"
},
"devDependencies": {
"@babel/cli": "^7.1.2",
"@babel/core": "^7.1.2",
"@babel/helper-plugin-utils": "^7.0.0",
"@babel/node": "^7.0.0",
"@babel/plugin-proposal-async-generator-functions": "^7.1.0",
"@babel/plugin-proposal-class-properties": "^7.1.0",
"@babel/plugin-proposal-decorators": "^7.1.2",
"@babel/plugin-proposal-optional-catch-binding": "^7.0.0",
"@babel/plugin-proposal-optional-chaining": "^7.0.0",
"@babel/plugin-transform-modules-commonjs": "^7.1.0",
"@babel/plugin-transform-typescript": "^7.1.0",
"babel-plugin-module-resolver": "^3.1.1"
}
Ниже приведено содержимое моих 2 .ts файлов.
// src/script.ts
export default function (arg:string): string {
return arg;
};
// src/index.ts
import Fn from "@/script";
console.log( Fn("Hello World") );
А вот мой конфигурационный файл Babel:
//babel.config.js
module.exports = {
"plugins": [
["@babel/plugin-transform-typescript"],
["@babel/plugin-transform-modules-commonjs"],
["@babel/plugin-proposal-async-generator-functions"],
["@babel/plugin-proposal-optional-catch-binding"],
["@babel/plugin-proposal-optional-chaining"],
["@babel/plugin-proposal-decorators", { "legacy": true }],
["@babel/plugin-proposal-class-properties", { "loose": true }],//must be after @babel/plugin-proposal-decorators
["module-resolver", {
//"root": ["./src", "./test"],
"alias": {
//"__root": ".",
"@": "./src",
//"#": "./src/assets",
//"_": "./src/assets/_",
//"!": "./static"
},
}]
]
};
И мой конфигурационный файл Typescript:
// tsconfig.json
{
"compilerOptions": {
"baseUrl": ".",
"paths": {
"@": ["./src"]
}
}
}
Когда я запускаю этот код, он выглядит хорошо, и я вижу «Hello World» в своей консоли.
Однако VS Code, похоже, не понимает путь "@ / script" . Это подчеркнуто красным с подсказкой, которая говорит
[ts] Не удается найти модуль'@/script'.
У меня нет этой проблемы, если я не использую плагин babel-plugin-module-resolver, вместо этого используется путь "./script".
Есть ли способ это исправить?
Спасибо!