我是RequireJS的新手,也许这是一个已经讨论过的问题,但我找不到明确的答案或意见.
我有一个使用RequireJS的应用程序.由于需要,它有许多JavaScript文件由Require加载.按预期工作.
期待Fiddler检查员我可以看到应用程序启动时加载了所有文件.我相信Require已经对JavaScript文件的所有引用进行了深入遍历,并在开始时加载它们.
如果这是它的工作方式,我相信生成单个文件,缩小它并使用<script>html标记加载它会更好.
如果我使用所有脚本生成一个单独的文件,并预先加载它们,那么<script>RequireJS会再次加载它们吗?
难道我做错了什么?
在生产环境中,什么是更好的解决方案?
提前致谢.
我刚刚下载了TypeScript文档.我有一些JavaScript类,我想在TypeScript测试应用程序中创建和使用这些类
如何从TypeScript调用包含的JavaScript的JavaScript函数.我不想创建"d.ts"文件.只是为了创建我的类,调用它的方法,访问它的属性.
我怎么做?
我正在尝试将kendoUI与TypeScript一起使用.
例如,要显示我必须要做的窗口:
logonDlg.show();例
var logonDlg = $("logonDialog");
if (!logonDlg.data("kendoWindow")) {
logonDlg.kendoWindow(logOnParams);
logonDlg.show();
}
Run Code Online (Sandbox Code Playgroud)
它工作正常.JS是按照我的意愿生成的,但是我收到一个错误,因为属性'kendoWindow'在'JQuery'类型的值上不存在.
如何禁用此类错误.我不能说,瑞安说,工作.
有没有办法在Typescript中创建非匿名AMD模块.当我定义这样的模块时:
export module Bootstrapper {
export function run() {
var i = 0;
}
}
Run Code Online (Sandbox Code Playgroud)
生成代码是:
define(["require", "exports"], function(require, exports) {
(function (Bootstrapper) {
function run() {
var i = 0;
}
Bootstrapper.run = run;
})(exports.Bootstrapper || (exports.Bootstrapper = {}));
})
Run Code Online (Sandbox Code Playgroud)
如何定义这样的非同名模块:
define('bootstrapper', ["require", "exports"], function(require, exports) {
(function (Bootstrapper) {
function run() {
var i = 0;
}
Bootstrapper.run = run;
})(exports.Bootstrapper || (exports.Bootstrapper = {}));
})
Run Code Online (Sandbox Code Playgroud) 如何使用TypeScript在AMD模块中定义依赖模块,包括例如jQuery和下划线.我使用JavaScript,例如,像这样:
define('moduleA',
['jquery', 'underscore'], function ($, _) {
}
});
Run Code Online (Sandbox Code Playgroud)
如何做到这一点,以便TypeScript编译器生成此代码.
我使用Visual Studio 2012 Ultimate开始使用TypeScript.我在编译器命令中更改了我的MSBuild,包括--module amd标记.编译器开始生成AMD模块.
我在Nuget Packages中包含了我的项目RequireJS,并在我的主HTML中包含这一行:
<script type="text/javascript" data-main="scripts/SiteMaster" src="scripts/require.min.js"></script>
Run Code Online (Sandbox Code Playgroud)
我有两个模块SiteMaster和Authenticate.SiteMaster模块很简单:
export module SiteMaster {
import auth = module("Authenticate");
auth.Authenticate.run();
}
Run Code Online (Sandbox Code Playgroud)
它只导入Authenticate模块并调用函数run().SiteMaster的js是这样的:
define(["require", "exports"], function(require, exports) {
(function (SiteMaster) {
var auth = __auth__;
auth.Authenticate.run();
})(exports.SiteMaster || (exports.SiteMaster = {}));
Run Code Online (Sandbox Code Playgroud)
})
问题是,当我浏览解决方案时,我收到错误:
Microsoft JScript runtime error: '__auth__' is undefined
Run Code Online (Sandbox Code Playgroud)
我怎么解决这个问题 ???
提前致谢.
我有一个完整的应用程序使用Typescript和RequireJs,它工作得很好.我现在已经下载了WebEssentials,它正在生成缩小的脚本文件.WebEssentials生成与原始脚本文件同名的独立*.min.js文件.
如何告诉RequireJs加载我的缩小文件而不是原始脚本文件?
提前致谢
在安装了版本的Verison 0.8.1.1后,我收到以下错误:"导出的函数参数已经或正在使用私有类型'vs'"
在0.8.1版本中我没有问题.现在即使我unistall 0.8.1.1并重新安装0.8.1问题.代码是这样的:
import vs = module("app/framework/ViewStack");
export module Framework {
export class ViewStacks {
public static addViewStack( id: string, idContainer: string,
idParentContainer: string, idLoadingPanel:
string, loaded: bool ): vs.Framework.ViewStack {
}
}
}
In another file
export module Framework {
export class ViewStack {
}
}
Run Code Online (Sandbox Code Playgroud)
该错误标记在addViewStack的vs.Framework.ViewStack返回类型中.compareFramework.ViewStack的错误点是私有的,但它是由import子句导入的.
顺便说一句,我使用的是Visual Studio Web Express 2012,编译器命令是:tsc --sourcemap --module amd ...
如果我将返回类型更改为任何它,当然是有效的.没有任何改变,它总是起作用.
每个类或模块定义一个导出变量,其类型由另一个模块导出,发生错误.
你能帮助我吗 ???
提前到达