1

我目前正在使用 web 优化捆绑器,它是 .net 框架的一部分,它将我的 javascript 和 css 捆绑到一个文件中。这很好用。

我遇到了一个问题。请参阅以下代码:

 BundleTable.Bundles.Add(new ScriptBundle("mybundle").Include( 
                "~/Scripts/globalize.js", 
                "~/Scripts/jquery.validate.js", 
                string.Format("~/resources.axd")));

这捆绑了文件中的所有 javascript,但我也想捆绑我的 .axd http 处理程序的输出。这将返回 javascript。但是,javascript 永远不会包含在包中。如果我在浏览器中运行处理程序,没问题,会返回 javascript。

我想知道捆绑程序可能无法识别 .axd 扩展名,因此不会尝试请求文件。如果是这种情况和解决方法有什么想法吗?

4

2 回答 2

0

正确,您只能将文件包含到包中,它不会为您向 axd 发出请求。您可以做的是手动点击 axd,然后将文件保存到磁盘并将其包含到您的包中。

于 2013-02-14T22:43:51.210 回答
0

我刚刚为 resx 编写了一个脚本包 - 你可以在这里找到源代码

https://github.com/MrAntix/sandbox-resx-script-bundling

在 BundleConfig 中,添加您的捆绑包...

bundles.Add(
  new ResxScriptBundle("~/bundles/local")
      .Include<JsResources>("app")
  );

它为这样的每个资源创建一个模型......

window.resources=window.resources||{};
window.resources.app = {
  "HelloWorld": "Hello World, from JSResources.resx"
};

你可以像这样在你的JS中使用它......

$("h1").append(window.resources.app.HelloWorld);

... 例如

于 2013-12-06T18:40:41.107 回答