2016-08-29 5 views
1

Похоже, эта проблема связана с IDE WebStorm. Я сообщил WebStorm. И трек here.Как явным образом использовать типы lib.d.ts?

Я использую Угловые 2 с машинописью 2.

Как явно использовать расположение от lib.d.ts типов? Потому что теперь он показывает красный цвет в моем IDE WebStorm 2016.3 EAP:

const hostname = location.hostname; 
const hostname = window.location.hostname; 

enter image description here


У меня есть это в моем файле:

import { Location } from '@angular/common'; 

constructor(private _location: Location) {} 
// note there is an underline before 
// and when I use in other functions, I actually use 'this._location' not just '_location' 

И я обнаружил, что после удаления import { Location } from '@angular/common';, в ошибка будет упущена.


И я предполагаю, что причина этой ошибки показывает, потому что, что IDE думает, что это location от Угловая 2.

Вы можете видеть на скриншоте ниже, что все функции, которая принадлежит Location от Угловое 2 .

enter image description here


Одним из способов является использование const hostname = (location as any).hostname;, но есть ли лучший способ? Благодаря

Мой tsconfig.json, если это поможет:

{ 
    "compilerOptions": { 
    "emitDecoratorMetadata": true, 
    "experimentalDecorators": true, 
    "target": "es5", 
    "module": "commonjs", 
    "removeComments": true, 
    "sourceMap": true, 
    "lib": ["es6", "dom"] 
    }, 
    "include": [ 
    "node_modules/@types/**/*.d.ts", 
    "src/**/*.ts" 
    ], 
    "exclude": [ 
    "node_modules", 
    "!node_modules/@types/**/*.d.ts" 
    ], 
    "compileOnSave": false, 
    "buildOnSave": false, 
    "atom": { 
    "rewriteTsconfig": false 
    } 
} 
+0

Что произойдет, если вы удалите ' "Lib": [ "ES6", "дом"]' линия от ' tsconfig.json'? –

+0

@NitzanTomer все еще такой же –

+0

Должно быть замешательство между [угловым расположением] (https://github.com/angular/angular/blob/master/modules/%40angular/common/src/location/location.ts#L47) и [встроенное местоположение] (https://developer.mozilla.org/en-US/docs/Web/API/Location), почему я не уверен. Является ли это просто ошибкой intellisense или сбою компиляции? Вы пытались запустить его? Сбой также во время выполнения? –

ответ

1

Спасибо за @ NitzanTomer помощи.

Кажется, что эта проблема связана с WebStorm.

Я сообщил об этом WebStorm, вы можете отслеживать вопрос здесь:

https://youtrack.jetbrains.com/issue/WEB-23021

Смежные вопросы