簡體   English   中英

VS Code不能使用/ jspm_packages; systemjs無法看到angular2 ts文件

[英]VS Code can't use /jspm_packages; systemjs can't see angular2 ts files

我正在使用JSPM創建一個基本的Angular 2工作流程。 它可以工作(請參閱https://github.com/simonh1000/Angular2-beta-jspm ),但我沒有得到intellisense,因為VS Code沒有看到Angular jspm模塊,如圖中所示。 我該怎么辦?

Intellisense無法看到jspm模塊

這是我的tsconfig.json包括Eric的建議:

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

我可以通過使用這種import語句在VS Code中取得一些進展

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" node_modules/ "moduleResolution": "node"所做的)。

由於您尚未通過NPM安裝Angular 2,因此它不在node_modules/文件夾中,並且編譯器找不到它。 如果您正在運行tsc命令行編譯器,則應該得到相同的錯誤。

正在 討論解決方案,似乎TypeScript @ next有一些基本的支持來手動指定尋找模塊的paths列表(我還沒有測試過它)。 它似乎並不理想,因為每次JSPM依賴項更改時您都必須手動維護此列表。

另一種方法是除了JSPM之外還通過NPM安裝Angular 2(例如npm install angular2 --save--save-dev ),但這會重復依賴性,並且在更改時也需要手動維護。

這就是生活在前沿......

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM