因此,我在将jspm软件包导入到typescript时发现的大多数例子都假定我想使用Systemjs在浏览器中加载和解释它们。但是,我宁愿使用tsc
来构建commonjs模块,并且只导入js代码,因为在我看来,这对我来说似乎是更一般和防错的方法。typescript:import jspm libraries
所以我的目录结构是这样的:
src/index.ts
jspm_packages/...
config.js
tsconfig.json
随着具有下列内容tsconfig:
{
"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"
]
}
出于测试目的,我jspm install npm:angular2
安装角2,并试图将其导入我的index.ts
via import { bootstrap } from 'angular2/platform/browser';
当运行tsc
时,出现错误
src/index.ts(1,27): error TS2307: Cannot find module 'angular2/platform/browser'.
现在我想知道,我可以让打印机知道jspm-packages吗?我觉得我尝试了一切,从tsconfig排除列表中删除jspm_packages,切换到节点模块分辨率或systemjs模块生成。也许我只是没有找到正确的组合。接下来要尝试的任何提示?
从JSPM网站第一行是“_jspm对于SystemJS通用模块加载程序的软件包管理器,建立在动态ES6模块loader_之上”。我不认为没有system.js的情况下使用jspm是正确的方法。 –