2017-01-06 7 views
0

Я, может быть, что-то не так, но я не могу найти, что бы было сделано с такой помощью. Я использую машинопись 2 + jspm. Я думаю, что я испробовал все возможности внутри tsconfig, используя typeRoots и типы (добавление номера версии на имя типа). Мой текущий конфиг выглядит следующим образом, и это не работает, в то время как я думаю, что он должен ...Использование lodash с машинописными текстами и jspm

package.json

"jspm": { 
    "dependencies": { 
     "lodash": "npm:[email protected]^4.17.4" 
    }, 
    "devDependencies": { 
     "@types/lodash": "npm:@types/[email protected]^4.14.45", 
     "babel": "npm:[email protected]^5.8.24", 
     "babel-runtime": "npm:[email protected]^5.8.24", 
     "core-js": "npm:[email protected]^1.1.4", 
     "systemjs": "npm:[email protected]^0.19.41" 
    } 
    } 

tsconfig.json

"typeRoots": [ 
    "jspm_packages/npm/@types" 
] 

Тогда компилятор не понимает

import * as _ from "lodash" 

я

Cannot find module 'lodash'. 

, как это было предложено машинопись док https://www.typescriptlang.org/docs/handbook/declaration-files/consumption.html

Теперь, если я удалить импорт, самое смешное, что vcode может пойти найти определение метода слияния (F12), если Я пишу следующую строку кода

_.merge(a, b); 

но компилятор все еще жалуется, что

Identifier '_' must be imported from a module 

Любая идея? :)

+0

Вы можете импортировать другие модули без проблем или это просто lodash, что проблематично? –

+0

Я использую другие модули без pb –

ответ

0

Это на самом деле не решение, но сейчас, чтобы избежать машинопись компилятор жалуется это то, что я делаю

declare const _: any; 

Я просто удалить эту строку, когда я хочу завершение для методов подписи

Заметим, что когда я импортирую lodash

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

  • Нет связанных вопросов^_^