Vì vậy, hầu hết các ví dụ tôi tìm thấy khi nhập các gói jspm vào kiểu dữ liệu giả định rằng tôi muốn sử dụng Systemjs để tải và diễn giải chúng trong trình duyệt. Tuy nhiên, tôi muốn sử dụng tsc
để xây dựng các mô-đun commonjs và chỉ nhập mã js, vì dường như tôi là phương pháp tiếp cận chung và chống lỗi hơn với tôi.kiểu chữ: nhập khẩu các thư viện jspm
Vì vậy, cấu trúc thư mục của tôi trông như thế này:
src/index.ts
jspm_packages/...
config.js
tsconfig.json
Với tsconfig có nội dung sau:
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"noEmitOnError": true,
"noImplicitAny": false,
"rootDir": "src",
"outDir": "target/app",
"sourceMap": true,
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"declaration": true
},
"exclude": [
"jspm_packages",
"node_modules",
"typings",
"target"
]
}
Đối với mục đích thử nghiệm, tôi đã cài đặt góc 2 với jspm install npm:angular2
và cố gắng nhập khẩu nó trong tôi index.ts
via import { bootstrap } from 'angular2/platform/browser';
Khi chạy tsc
, tôi gặp lỗi
src/index.ts(1,27): error TS2307: Cannot find module 'angular2/platform/browser'.
Bây giờ tôi tự hỏi, tôi có thể tạo các gói jspm được biết đến với bản ghi không? Tôi cảm thấy như tôi đã thử tất cả, loại bỏ các jspm_packages từ danh sách loại trừ tsconfig, chuyển sang độ phân giải mô-đun nút hoặc tạo mô-đun systemjs. Có lẽ tôi đã không tìm thấy sự kết hợp đúng. Bất kỳ gợi ý nào về những gì cần thử tiếp theo?
Dòng đầu tiên từ trang jspm là "_jspm là một người quản lý gói cho SystemJS mô-đun phổ biến nạp, được xây dựng trên đầu trang của ES6 động mô-đun loader_". Tôi không nghĩ rằng bằng cách sử dụng jspm mà không có system.js là cách tiếp cận đúng ở đây. –