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,但是这些依赖关系重复,并且在更改时也需要手动维护. 这是生命在流血的边缘… (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |