I am using ASP.NET MVC
to build a web application, and I have fallen in love with the library Q.js
, available here:
Q.js
Right now, I am using version 1.0
, I load it up in the way that is most natural to me as an ASP.NET MVC developer. I have a place in my BundleConfig
that just loads the script with my other scripts.
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"));
}
}
So then in my view _Layout.cshtml
, it's the normal simple process...
_Layout.cshtml
<head>
@Scripts.Render("~/bundles/scripts")
</head>
Easy enough, right? Yes, it works fine. But I notice that Q.js
has another branch labelled v2
.
Now, from what I can immediately tell, they are not that much different, but I do not believe the creator would have made a version 2 if they were not doing it to improve the product. I'd like to try it out, but this is where my experience fails me.
version 2 seems fundamentally different than version 1. Here is a link to it for quicker reference; Qv2
The q.js
file starts out with this at line 43
.
require("collections/shim");
var WeakMap = require("collections/weak-map");
var Iterator = require("collections/iterator");
var asap = require("asap");
I am accustomed to the require
function being a part of requirejs
, but I don't believe that is the purpose being served here. I in fact think this is intended to be consumed/run/used by node.js
.
Now, since I am using ASP.NET MVC
, I won't be using node.js
. I've attempted to just put the expected folders and files in the right place so that they would be path relative to q.js
, but that does not seem to satisfy it.
The Actual Question
Is there a way I can 'compile' Q.js 2.0
into a .js
file that will not require node.js
, and can be loaded normally within my ASP.NET MVC project? Can I use node.js
to actually create an output .js file that has everything I need?