将node.js代码编译为非节点代码

时间:2014-07-21 15:41:45

标签: javascript node.js q

我正在使用ASP.NET MVC构建一个Web应用程序,我已经爱上了Q.js库,可以在这里找到:

Q.js

现在,我正在使用version 1.0,我以对ASP.NET MVC开发人员来说最自然的方式加载它。我在BundleConfig中有一个地方,只是用我的其他脚本加载脚本。

BundleConfig.cs

public static class BundleConfig {
   public static void RegisterBundles(BundleCollection bundles){
      bundles.Add(new ScriptBundle("~/bundles/scripts")
         .Include("~/content/scripts/jquery.js")
         // lots of other includes
         .Include("~/content/scripts/q.js"));
   }
}

那么在我看来_Layout.cshtml,这是正常的简单过程...

_Layout.cshtml

<head>
   @Scripts.Render("~/bundles/scripts")
</head>

够简单吧?是的,它工作正常。但我注意到Q.js有另一个分支标记为v2

现在,从我可以立刻说出来的情况来看,他们并非 有很大不同,但我不相信创作者如果不是为了改进产品就会制作第2版。我想尝试一下,但这是我的经历让我失望的地方。

版本2似乎与版本1有根本的不同。这是一个链接,以便更快地参考;的 Qv2

q.js文件从第43行开始。

require("collections/shim");
var WeakMap = require("collections/weak-map");
var Iterator = require("collections/iterator");
var asap = require("asap");

我习惯require函数是requirejs的一部分,但我不相信这是在这里服务的目的。我实际上认为这是由node.js消费/运行/使用。

现在,由于我使用ASP.NET MVC,我不会使用node.js。我试图将预期的文件夹和文件放在正确的位置,以便它们路径相对q.js,但这似乎并不满足它。

实际问题

我有没有办法&#39; Q.js 2.0编译成.js文件,不需要node.js,可以通常在我的ASP.NET MVC项目中加载?我可以使用node.js来实际创建一个包含我需要的输出.js文件吗?

1 个答案:

答案 0 :(得分:1)

browserify是Node的工具,它接受所有require() d依赖项,解析它们,并将它们打包成一个可供浏览器使用的JavaScript文件。