#angular #typescript #webpack #visual-studio-code #babylonjs
#angular #typescript #webpack #visual-studio-code #babylonjs
Вопрос:
Я использую angular2-webpack starter, и я хочу импортировать библиотеку npm, например Babylon js. Я делаю так
import * as BABYLON from 'babylonjs/babylon';
И Babylon поставляется с d.ts
файлом, поэтому я помещаю его в начало файла
/// <reference path="../../../node_modules/babylonjs/babylon.d.ts" />
Хотя я могу использовать библиотеку, код Visual Studio помечается как ошибка и говорит Exported external package typings file 'node_modules/babylonjs/babylon.d.ts' is not a module.
, и я не могу использовать автозаполнение, которое поставляется с наборами.
Я новичок в webpack, поэтому я не знаю, нужно ли мне что-то устанавливать. Моя конфигурация — это та, которая поставляется с начальной версией.
Это правильный способ импортировать внешнюю библиотеку? Что еще мне нужно настроить, чтобы избавиться от этой ошибки и использовать автозаполнение?
Комментарии:
1. Я понял, что без импорта чего-либо я могу использовать автозаполнение, но тогда, конечно, BABYLON не определен. Итак, я не знаю, как импортировать BABYLON и сохранить типизацию.
2. В текущей предварительной версии babylonjs есть дополнительный файл модуля (./dist/preview release/babylon.module.d.ts). При попытке использовать babylonjs в angular2 таким образом, я теперь получаю «Инициализаторы не разрешены в окружающих контекстах».. У вас был успех с тем временем?
Ответ №1:
Первый:
npm install babylonjs babel-types
typings install dt~babylon --save --global
typings install dt~babel-types --save --global
Затем в вашем коде:
var BABYLON = require('babylon');
Комментарии:
1.
babel-types
Для чего это нужно?2. После поиска решений в SO и Github, это то, что действительно сработало для меня, без необходимости вручную редактировать файл d.ts пакета npm. И нет, вам не нужны типы babel.