2016-10-04 65 views
0

我使用angular2-webpack入门,我想导入一个npm库,例如Babylon js。我在做这样的导入库与angular2 - webpack

import * as BABYLON from 'babylonjs/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,所以我不知道我是否必须设置一些东西。我的配置是启动器的配置。

这是导入外部库的正确方法吗?还有什么我必须配置摆脱这个错误,并使用自动完成?

+0

我意识到,如果没有进口任何物件,我可以使用自动完成的,但后来当然巴比伦没有定义。所以我不知道如何进口BABYLON并保持打字。 – ST7

+0

在babylonjs的当前预览版本中,还有一个额外的模块文件(./dist/preview release/babylon.module.d.ts)。当以这种方式尝试在angular2中使用babylonjs时,我现在得到“初始化程序不允许在环境中使用”。你有没有成功? – Wulf

回答

1

第一:

npm install babylonjs babel-types 
typings install dt~babylon --save --global 
typings install dt~babel-types --save --global 

然后在你的代码:

var BABYLON = require('babylon'); 
+0

什么是'babel-types'? – ST7

+0

经过对SO和Github解决方案的讨论之后,这是一个真正为我工作的人,无需手动编辑npm包的d.ts文件。不,你不需要babel类型。 – Jefftopia