我刚开始使用 Famo.us,并想利用它作为学习打字稿的机会,同时利用它的魅力。所以我做了以下
- 用于
yo famous
根据文档创建 Famo.us 项目 - 我不确定如何包含 typescript,所以我创建了一个 typeScriptHTML 项目,复制 .csproj 文件并手动编辑它。我尝试使用 NVTS 并指定它应该从现有文件夹创建它,但我总是收到一个错误,说文件路径太长。它检查了一些模块的路径很长。甚至无法删除它们,系统也在说同样的话。最后我放弃了这个想法并使用了 typescript html 应用程序。它没有产生任何错误。
- 我添加了一个文件
app.ts
,在其中编写了一些示例代码,它按预期生成了 js 文件。 现在我想将 main.js 翻译成 main.ts,但我遇到了以下问题
一世。
var Engine = require('famous/core/Engine');
给出错误找不到符号'require'。ii.
import Engine = require('famous/core/Engine')
给出错误:无法解析外部模块“着名/核心/引擎”。将路径更改为“../lib/着名/核心/引擎”会产生类似的错误,但文件名不同。iii. 创建了一个文件
Famous.d.ts
,但我认为我没有得到它我没有做正确的事情declare module "famous/core/Engine" { class Engine{ public createContext(): Engine } export = Engine }
最后,我的困惑是如何将示例代码翻译成打字稿:
/*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);
}
});
任何帮助表示赞赏。