Tôi có một dự án ví dụ đơn giản sử dụng TypeScript: https://github.com/unindented/ts-webpack-example
Đang chạy tsc -p .(với tscphiên bản 1.8.10) ném như sau:
app/index.ts(1,21): error TS2307: Cannot find module 'components/counter'.
components/button/index.ts(2,22): error TS2307: Cannot find module 'shared/backbone_base_view'.
components/button/index.ts(3,25): error TS2307: Cannot find module 'shared/backbone_with_default_render'.
components/counter/index.ts(2,22): error TS2307: Cannot find module 'shared/backbone_base_view'.
components/counter/index.ts(3,25): error TS2307: Cannot find module 'shared/backbone_with_default_render'.
components/counter/index.ts(4,27): error TS2307: Cannot find module 'shared/backbone_with_subviews'.
components/counter/index.ts(5,20): error TS2307: Cannot find module 'components/button'.
Nó phàn nàn về tất cả các lần nhập tệp cục bộ, như sau:
import Counter from 'components/counter';
Nếu tôi thay đổi nó thành một đường dẫn tương đối thì nó hoạt động, nhưng tôi không muốn, vì nó khiến cuộc sống của tôi khó khăn hơn khi di chuyển tệp xung quanh:
import Counter from '../components/counter';
Cơ vscodesở mã không sử dụng đường dẫn tương đối, nhưng mọi thứ đều hoạt động tốt đối với chúng, vì vậy tôi phải thiếu thứ gì đó trong dự án của mình: https://github.com/Microsoft/vscode/blob/0e81224179fbb8f6fda18ca7362d8500a263cfef/src/vs/languages/typescript/common /typescript.ts#L7-L14
Bạn có thể xem repo GitHub của tôi, nhưng trong trường hợp nó hữu ích, đây là tsconfig.jsontệp tôi đang sử dụng:
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"noImplicitAny": false,
"removeComments": false,
"preserveConstEnums": true,
"sourceMap": true,
"outDir": "dist"
},
"exclude": [
"dist",
"node_modules"
]
}
Điều buồn cười là, việc xây dựng dự án thông qua webpackviệc sử dụng ts-loaderhoạt động tốt, vì vậy tôi đoán đó chỉ là vấn đề cấu hình ...
error TS5023: Unknown compiler option 'moduleResolution'.