有没有一种从js/咖啡控制台导入库的快速方法?现在,每当我需要使用库时,我都会注入一个脚本元素,将cdn链接到我的DOM,如下所示:
var jq = document.createElement('script');
jq.src = "//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js";
document.getElementsByTagName('head')[0].appendChild(jq);这真的很痛苦。必须有某种方法在本地存储常用的库,然后允许我的控制台使用需求或其他东西将它们导入到一行中(而不记得cdn url)。我是个蟒蛇,我非常习惯于在我的路径中插入任何已安装的模块。我希望能以类似的方式和js一起玩--这是我学得最好的方法。
发布于 2014-03-19 08:28:50
抱歉,但不是完全按你想的方式。但是您可以为自己设置一个实验室环境,通过给库取一个短名称并通过泼尼士获取库,这样可以使库加载得更快,它们具有相当可预测的URL路径名称。
这个函数看起来有点像这样:
window.jsopen = function(path) {
var el = document.createElement('script');
if(path.indexOf('http') == 0) {
el.src = path;
} else {
el.src = '//cdnjs.cloudflare.com/ajax/libs/'+path;
}
document.head.appendChild(el);
}将其嵌入到一个简单的HTML和工具中,并在它旁边的一个选项卡中打开CDNJS站点。现在,您应该能够通过其完整的URL或其路径的最后部分导入库。在您的示例中使用jQuery,它将简化为:
> jsopen('jquery/2.0.3/jquery.min.js')
undefined
> $
function (e,n){return new x.fn.init(e,n,t)}它仍然不像你在Python上所能得到的,但它比你在问题中描述的做整个事情要好一些。
还请注意,函数不(不能)了解依赖关系,因此:
> jsopen('backbone.js/1.1.2/backbone-min.js')
undefined
Uncaught TypeError: Cannot call method 'each' [...]但是:
> jsopen('underscore.js/1.6.0/underscore-min.js')
undefined
> jsopen('backbone.js/1.1.2/backbone-min.js')
undefined
> Backbone
Object {VERSION: "1.1.2", $: function,高级版本:您可以使用褐化和NPM的组合创建一个了解依赖关系的实验室环境。
https://stackoverflow.com/questions/22492029
复制相似问题