我在Visual Studio 2013中使用的是Typescript AMD和Requirejs,我想在我的Typescript类中使用非模块化脚本。 我怎样才能做到这一点:
define(["require", "exports", 'slickgrid'], function(require, exports, slickgrid){
...
});
我无法使用以下语法:
import slickgrid = require('slickgrid');
export class myClass {
...
}
当我这样做时,我得到2个错误
Unable to resolve external module '"slickgrid"
Module cannot be aliased to a non-module type.
Config看起来像这样
require.config({
baseUrl: 'scripts',
paths: {
jquery: 'jquery-1.10.2',
jqueryui: 'jquery-ui-1.10.4',
dragevent: 'jquery.event.drag',
slickcore: 'SlickGrid/slick.core',
slickgrid: 'SlickGrid/slick.grid',
},
shim: {
jquery: { exports: '$' },
jqueryui: ['jquery'],
dragevent: ['jquery'],
slickcore: ['jqueryui'],
slickgrid: {
deps: ['slickcore', 'dragevent'],
exports: 'Slick'
},
}
});
答案 0 :(得分:2)
使用此定义文件:https://github.com/borisyankov/DefinitelyTyped/blob/master/slickgrid/SlickGrid.d.ts
在一些.d.ts
文件中添加以下内容,告诉typescript你的requirejs配置:
declare module 'slickgrid'{
export = Slick
}
这样你就可以:
import slickgrid = require('slickgrid');