有没有人有任何经验或知道捆绑,并在ASP.NET MVC项目涅槃模块化的JavaScript像RequireJS / AMD什么好的解决办法?
就是用最好的方式RequireJS优化 (或许在后生成的行动?) -或者是有ASP.NET MVC更好的东西在那里?
有没有人有任何经验或知道捆绑,并在ASP.NET MVC项目涅槃模块化的JavaScript像RequireJS / AMD什么好的解决办法?
就是用最好的方式RequireJS优化 (或许在后生成的行动?) -或者是有ASP.NET MVC更好的东西在那里?
我想你会打的问题是,如果你使用的匿名定义。 如果您想包含所有的定义组合/捆绑的脚本文件,你必须给它们命名。
例如。
define("someModule", ["jquery", "ko"], function($,ko) { ... });
代替
define(["jquery", "ko"], function($,ko) { ... });
如果你使用的文件名作为模块名,你就可以异步加载它们的(非绑定),以及预装(捆绑)。 你可以在调试模式以及发行模式下工作,而无需改变这样,你的需要。
我与RequireJS优化没有经验知道,如果它需要匿名定义的照顾与否。
更新:
最近,我不得不这样做,很可能会遇到的问题之一是脚本代码加载require.js的数据主要属性。 由于main.js文件对捆绑模块的依赖关系,他们需要main.js之前,但require.js后才会被载入。 因此,我不得不抛弃数据主要和加载该文件(非绑定)最后一次。
从
<script src="../JS/require-v2.1.2.js" type="text/javascript" data-main="main.js"></script>
至
<script src="../JS/require-v2.1.2.js" type="text/javascript"></script>
<%: System.Web.Optimization.Scripts.Render("~/bundles/signup") %>
<script src="main.js" type="text/javascript"></script>
我还没有看,但如果束配置可以确保main.js是最后的,那么甚至不需要去年脚本标签。
这些都是得到RequireJS捆绑main.js.步骤 你可以踏踏实实地在一个行<head>
标签。 这并不匿名定义解决这个问题。
HTML
<head runat="server">
<title></title>
<%: System.Web.Optimization.Scripts.Render("~/bundles/scripts") %>
</head>
BundleConfig.cs
using System.Web;
using System.Web.Optimization;
public class BundleConfig
{
// For more information on bundling, visit http://go.microsoft.com/fwlink/?LinkId=301862
public static void RegisterBundles(BundleCollection bundles)
{
bundles.Add(new ScriptBundle("~/bundles/scripts").Include(
"~/scripts/libs/require.js",
"~/scripts/main.js"));
}
}
main.js必须努力没有数据,主 (我需要设置的baseUrl)
require.config({
baseUrl: "scripts"
});
我不知道这是否是一个可以接受的解决方案或没有,但的Visual Studio 2012有一个NuGet包(Microsoft.Web.Optimization),它支持原生的缩小和捆绑。 我不知道它是否提供了2010
这是在的Application_Start一行代码
Microsoft.Web.Optimization.BundleTable.Bundles.EnableDefaultBundles();
http://msdn.microsoft.com/en-us/vs11trainingcourse_aspnetandvisualstudio_topic5
我知道这是一个老问题,但你可以看看RequireJS.NET压缩机(使用YUI压缩机,而不是ASP.NET捆绑 - 至少在目前),这是RequireJS.NET NuGet包的一部分。
参考文献:
压缩机- http://requirejsnet.veritech.io/compressor.html
一般文献- http://requirejsnet.veritech.io/
Github上项目- https://github.com/vtfuture/RequireJSDotNet
的NuGet - https://www.nuget.org/packages/RequireJsNet/