VS代码不能使用/ jspm_packages; systemjs看不到angular2 ts文件

前端之家收集整理的这篇文章主要介绍了VS代码不能使用/ jspm_packages; systemjs看不到angular2 ts文件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用JSPM创建一个基本的Angular 2工作流.它可以工作(见 https://github.com/simonh1000/Angular2-beta-jspm),但是我没有得到智能感知,因为VS代码没有看到Angular jspm模块,如图所示.我该怎么办?

这里是我的tsconfig.json,包括Eric的建议:

{
  "compilerOptions": {
    "target": "es5","module": "commonjs","removeComments": true,"emitDecoratorMetadata": true,"experimentalDecorators": true,"sourceMap": true,"moduleResolution": "node"
  }
}

我可以通过使用这种import语句在VS代码中取得一些进展

import { Component,View } from '../jspm_packages/npm/angular2@2.0.0-beta.0/ts/core';

但是当我运行它时,我收到一个错误

GET http://127.0.0.1:8080/jspm_packages/npm/angular2@2.0.0-beta.0/ts/core.js

这是一个来自config.js的摘录

System.config({
  baseURL: "/",defaultJSExtensions: true,transpiler: "typescript",typescriptOptions: {
    "module": "commonjs","emitDecoratorMetadata": true
  },paths: {
    "github:*": "jspm_packages/github/*","npm:*": "jspm_packages/npm/*"
  },packages: {
    "app": {
      "main": "main","defaultExtension": "ts"
    }
  },
这是预期的,因为TypeScript编译器不知道如何“查找”JSPM包.

VSCode依赖于TypeScript编译器,编译器只知道通过NPM软件包来查找模块(例如,看看node_modules / – 这是什么“moduleResolution”:“node”).

由于您没有通过NPM安装Angular 2,所以它不在node_modules /文件夹中,编译器没有找到它.如果您正在运行tsc命令行编译器,您应该得到相同的错误.

解决方案是being discussed,似乎TypeScript @ next有一些基本的支持manually specify一个路径寻找模块的列表(我还没有测试它).它似乎不是理想的,因为您必须在每次JSPM依赖关系更改时手动维护此列表.

另一种方法是除了JSPM(例如,npm安装angular2 –save或–save-dev)之外,还可以通过NPM安装Angular 2,但是这些依赖关系重复,并且在更改时也需要手动维护.

这是生命在流血的边缘…

猜你在找的Angularjs相关文章