javascript - 在 chrome 检查器中快速导入库

标签 javascript google-chrome coffeescript web-inspector

有没有一种快速的方法可以从 js/coffee 控制台导入库?现在,每次我需要使用库时,我都会注入(inject)一个脚本元素,将 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);

这确实是一个痛苦的事情。必须有某种方法可以在本地存储常用的库,然后允许我的控制台使用 requirejs 或其他东西在一行中导入它们(并且无需记住 cdn url)。我是一个 Python 爱好者,我非常习惯于能够即插即用我的 PATH 中安装的任何模块。我希望能够以类似的方式玩 js —— 这是我学习得最好的方式。

最佳答案

抱歉,但不完全按照您想要的方式。但是您可以为自己设置一个实验室环境,在其中通过给库起一个短名称并通过 cdnjs 获取库来加快库的加载速度。 ,它们具有合理可预测的 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,

高级版本:您可以通过 Browserify 的组合创建一个确实了解依赖关系的实验室环境。和 NPM .

关于javascript - 在 chrome 检查器中快速导入库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22492029/

相关文章:

javascript - 选择所有其他 ID 不是 'this.id' 的元素

AngularJS $rootScope.$on 未通过路由捕获或传递服务数据

javascript - PSQL : error: relation does not exist

javascript - 读取和写入 taffydb

jquery - Chrome上的音频jQuery和currentTime

javascript - 我可以使用 Google Chrome 扩展程序阻止alert()吗

javascript - 使用后退按钮时停止服务人员表单重新提交表单

node.js - 如何将coffescript与AMD加载器和 Node 服务器一起使用?

jquery - 如何在 Rails 中将 jQuery onclick 事件与 Coffeescript 绑定(bind)?

javascript - 使用 Vue 动态加载时 HTML 数据列表不断崩溃