关于TS环境下的第三方库导入的疑问

本人新入手laya,很多不熟,问的太浅,见笑
具体操作
尝试在新建的ts的空项目下导入autobahn这个库

尝试了以下操作,直接在bin/libs下使用bower管理工具下载库,
bower install autobahn | npm install autobahn-browser

在bin/index.html下使用script标签导入,使用JS和TS两个版本都能成功
但是TS的方式下没有代码提示,于是尝试通过typings加入d.ts,希望能出现代码提示

在project_root/libs下添加对应的ts文件,通过以下命令
npm install --save @types/autobahn

生成了对应的d.ts的模块(在node_modules)下
但是发现依旧不提示

希望大神能解答一下这么几个问题
1.第三方的js导入最合理的方式具体是什么,或者说应该放在哪里最合适
2.导入第三方JS模块后,想要在ide内获取到TS的提示,应该如何设置d.ts
已邀请:

日新月异

赞同来自: Solomon

LayaIde 和 Vscode 有一点差别
 
当使用如下命令时 引入类型的时候 不会自动引入
 
npm install --save @types/autobahn

你需要手动 import 很难受的时 连提示也不会有 
但是如果你引用了 就会有提示
 
具体为什么会这样 我不太清楚,也许是官方在index.html 中使用js库 不希望你在代码中如下情况
import { Connection } from "autobahn";

如果你只是想要提示的话,其实很简单
 
直接拷贝 node_modules\@types\autobahn\index.d.ts 这个文件到 工程的libs 目录中
也就是把上边的 
/// <reference types="when" /> 
export = autobahn;
 

删掉

这样就和Laya库的格式比较像 只是多了个命名空间
declare namespace autobahn {

export class Session {
id: number;
realm: string;
isOpen: boolean;
features: any;
..................................
然后在ts文件中
new autobahn.
引用华丽丽的出现了
 
如果谁有更好的方法 一起讨论研究..

该问题目前已经被锁定, 无法添加新回复

商务合作
商务合作