javascript - typescript : Handling import from external libraries

标签 javascript famo.us

我刚刚开始使用 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/

相关文章:

javascript - 在我的 Meteor 应用程序中哪里包含 Parse 初始化 key ?

javascript - 配置JavaScript单元测试并 promise 声明

javascript - 后序遍历移除元素节点

famo.us - 著名的引擎物理碰撞

git - npm 错误!错误 : UNKNOWN, 打开 'C:\Users\Ahsan Hussain\AppData\Roaming\npm-cache\chalk\0.5.1\package\package.json'

javascript - 如何仅从 selenium 中的网页加载 html

javascript - js 中的方式与我在 css 中的方式相同吗?

html - 使 Famo.us/Angular fa-image 不可选择

javascript - Famo.us:如何将表单字段放入适用​​于 iOS 和 Safari 的 ScrollView 中?

famo.us - 与 famo.us 合作的特性