我尝试使用webpack 2将SoundJS(createJS框架的一个模块)导入到我的打字稿项目中。
在vendor.ts中的我有
import "soundjs";
以及其他几个有效的进口
使用npm导入的@types定义命名为" soundjs",但是npm包" soundjs"是空的,所以我必须使用另一个npm包,名为" createjs-soundjs"这导致分辨率错误。
当我尝试使用webpack进行编译时,我收到错误"找不到模块:错误:无法解决' soundjs'在' [包含vendor.ts的文件夹的路径]'
如何修复webpack 2以使其解析为createjs-soundjs包?
提前感谢您的帮助:)
答案 0 :(得分:1)
如何修复webpack 2以使其解析为createjs-soundjs包?
您不需要,因为createjs-soundjs
未打包为模块。这是来自soundjs-0.6.2.min.js
,它是图书馆的入口点。
this.createjs=this.createjs||{},function()...
这意味着该库将在浏览器上下文中全局。
您还可以从@types/soundjs
定义中注意到这一点,其中所有内容都可以通过名称空间进行全局访问
declare namespace createjs {
export class AbstractPlugin {
create(src: string, startTime: number, duration: number): AbstractSoundInstance;
getVolume(): number;
isPreloadComplete(src: string): boolean;
...
}
}
那么我们将如何在TypeScript中使用这个库?
import "createjs-soundjs";
console.log(createjs.RequestUtils.isImageTag("foo")); // false
如果@types/soundjs
已经安装并包含在项目中,您应该获得上下文感知(例如代码完成)。
答案 1 :(得分:0)
"找不到模块:错误:无法解决' soundjs'在' [包含vendor.ts的文件夹的路径]'
您应该将soundjs
更改为实际存在的包:createjs-soundjs
,然后始终使用此名称。