gpt4 book ai didi

javascript - typescript : Handling import from external libraries

转载 作者:行者123 更新时间:2023-12-02 17:27:18 25 4
gpt4 key购买 nike

我刚刚开始使用 Famo.us,希望将其作为学习 TypeScript 的机会,同时充分利用它的强大功能。所以我做了以下事情

  1. 使用 yoknown 按照文档创建 Famo.us 项目
  2. 我不确定如何包含 typescript,因此我创建了一个 typeScriptHTML 项目,复制 .csproj 文件并手动编辑它。我尝试使用 NVTS 并指定它应该从现有文件夹创建它,但我总是收到一条错误消息,指出文件路径太长。经过检查,某些模块的路径很长。甚至无法删除它们,系统也说了同样的话。最后我放弃了这个想法并使用了 typescript html 应用程序。它没有产生任何错误。
  3. 我添加了一个文件 app.ts,在其中编写了一些示例代码,它按预期生成了 js 文件。
  4. 现在我想将 main.js 转换为 main.ts,但我遇到了以下问题

    我。 var Engine = require('known/core/Engine'); 给出错误找不到符号“require”。

    ii. import Engine = require('known/core/Engine') 给出错误:无法解析外部模块“known/core/Engine”。将路径更改为“../lib/known/core/Engine”会产生类似的错误,但文件名不同。

    三.创建了一个文件 Famous.d.ts 但我认为我没有得到它,我没有做正确的事情
    声明模块“著名/核心/引擎”{
    类引擎{
    公共(public)createContext():引擎
    }
    导出 = 引擎
    }

最后,我的困惑是如何将示例代码转换为 typescript :

 /*globals define*/
define(function(require, exports, module) {
'use strict';
///first
var Engine = require('famous/core/Engine');
var DeviceView = require('./DeviceView');

var mainContext = Engine.createContext();
var device;

createDevice();

function createDevice() {
var deviceOptions = {
type: 'iphone',
height: window.innerHeight - 100
};
device = new DeviceView(deviceOptions);
mainContext.add(device);
}
});

感谢任何帮助。

最佳答案

事实证明,这比我想象的要容易得多。一种方法是声明该类并将其导出为模块

declare class Engine{
...
}
export module 'famous/core/Engine'{ export = Engine; }

使用此方法设法获得著名运行的一个微小定义。

关于javascript - typescript : Handling import from external libraries,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23418454/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com