首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >typescript:导入jspm库

typescript:导入jspm库
EN

Stack Overflow用户
提问于 2016-03-04 01:15:16
回答 1查看 749关注 0票数 6

因此,我在将jspm包导入typescript时发现的大多数示例都假定我希望使用Systemjs在浏览器中加载和解释它们。但是,我更喜欢使用tsc来构建通用模块,并且只导入js代码,因为对我来说,这似乎是更通用和更具容错性的方法。

所以我的目录结构是这样的:

代码语言:javascript
复制
src/index.ts
jspm_packages/...
config.js
tsconfig.json

tsconfig包含以下内容:

代码语言:javascript
复制
{
  "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中安装了angular 2,并尝试通过import { bootstrap } from 'angular2/platform/browser';将其导入我的index.ts

运行tsc时,我收到以下错误

代码语言:javascript
复制
src/index.ts(1,27): error TS2307: Cannot find module 'angular2/platform/browser'.

现在我在想,我能让typescript知道jspm包吗?我感觉我已经尝试了所有的方法,从tsconfig排除列表中删除jspm_packages,切换到节点模块解析或systemjs模块生成。也许我只是没有找到正确的组合。对下一步要尝试什么有什么建议吗?

EN

回答 1

Stack Overflow用户

发布于 2016-03-20 12:30:40

我也在努力解决同样的问题,经过一些研究,我了解到到目前为止还没有好的解决方案来解决这个问题。

解决方法:

A)您可以复制依赖项并将其与npm一起安装。tsc不应该抛出任何错误,因为它是从npm解析的。

B)更改tsconfig.json并将角度映射到jspm路径。例如

代码语言:javascript
复制
"baseUrl": ".",
"paths": {
     "angular2/*": [
        "jspm_packages/npm/angular2@2.0.0-beta.7/*"
     ],
     "rxjs/*": [
        "jspm_packages/npm/rxjs@5.0.0-beta.2/*"
     ]
  }

有关完整示例,请参阅https://github.com/frankwallis/plugin-typescript/tree/master/examples/angular2

请注意,"baseUrl“和"paths”不是官方属性,仅适用于typescript编译器的测试版。

该问题目前正在此处进行跟踪:https://github.com/Microsoft/TypeScript/issues/6012

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35778684

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档