我在TypeScript
. 我用RequireJS
. 一切正常,直到我需要JQuery
...
这是我的文件结构:
如您所见,我在jquery-1.8.d.ts
文件modules
夹中有文件。的.js
文件jQuery
在lib
文件夹内。当我使用配置文件导入模块时RequireJS
:
/// <reference path="../modules/require.d.ts" />
/// <reference path="AppMain.ts" />
require.config({
baseUrl: '../',
paths: {
jquery: 'lib/jquery-1.8.3'
},
shim: {
jquery: {
exports: '$'
}
},
name: "app/AppMain",
out: "../!built/Test.js",
optimize: "none"
});
require(['jquery', 'app/AppMain',
],
($, main) => {
var appMain = new main.AppMain();
appMain.run();
});
...然后它被导入到JavaScript
. 如果我想在里面TypeScript
怎么办?我需要使用JQuery
,JQueryStatic
和JQueryPromise
, 在.d.ts
文件中声明。
当我尝试简单地导入一个新模块时,我收到一个错误:
import JQueryExternal = module("../../../modules/jquery-1.8.d"); // error: The name does not exist in the currect scope. A module cannot be aliased to a non-module type
interface Test {
MyMethod(): JQueryPromise; // here's a sample usage
}
一开始我认为路径是错误的,但我试图将它移动到classes
文件夹中,然后我以其他类的方式导入它。同样的错误:/
如何以我想要的方式jQuery
使用?TypeScript
可能吗?