我已經寫了一個Typescript庫,它正在發射如下。不過,我不知道如何從這個模塊導入。如何從嵌套模塊導入?
node_modules /我的模塊/ DIST/index.js(局部的)
define("services/UserService", ["require", "exports", ..., "services/BaseService"], function (require, exports, ..., BaseService_31) {
"use strict";
var UserService = (function (_super) {
// ... stuff here ...
return UserService;
}(BaseService_31.BaseService));
exports.UserService = UserService;
});
我已經安裝該包與npm
和配置JSPM如下:
config.js (部分)
System.config({
defaultJSExtensions: true,
transpiler: "none",
paths: {
"*": "dist/*",
"github:*": "jspm_packages/github/*",
"npm:*": "jspm_packages/npm/*",
"npm-ext:*": "node_modules/*"
},
map: {
...
"my-module": "npm-ext:my-module/dist/index.js",
...
}
});
我期待能夠導入此cla SS如下...
import {UserService} from "my-module/services/UserService";
我預計SystemJS解決路徑my-module
然後找到services/UserService
模塊,並搶單出口UserService
。但在Chrome控制檯中,我看到這是正在加載的路徑:
node_modules/my-module/dist/index.js/models/UserService.js
導入此類模塊的正確方法是什麼?
獎勵積分:我該如何避開包括index.js
的完整路徑?
感謝
models
。你知道如何配置我的TS版本來創建「普通」模塊,這樣我就可以用'my-module/services/UserService'導入嗎?另外,「models」可能是一個錯字,將會確認。 –知道是通過對源文件進行嚴格的佈局。假設你有帶UserService.ts和BaseService.ts的src/my-module/service文件夾。另外假設src和dist在頂層。要生成'正常'模塊,請在tsconfig.json中使用''rootDir「:」src「,」outDir「:」dist「。請注意,每個模塊將在單獨的文件中。要生成一個bundle,用outFile替換'outDir':「dist/index.js」'。在這兩種情況下,都可以使用'from'my-module/services/UserService''進行導入。 – artem