相关疑难解决方法(0)

如何使用Browserify模块化Chrome应用程序?

我观看了以下Google Apps Office视频,并了解了如何使用browserify将JS封装到一个文件中,使用节点CommonJS打包系统.我喜欢这个想法,因为它还添加了许多移植到浏览器的节点库,它可以处理CoffeeScript.

视频没有涉及的一件事是如何制作一个有多个视图的Chrome应用程序仍然以干燥的方式使用browserify .让我解释.通常,您的browserify命令会获取一系列JS文件(设计为模块),并将其连接到一个带有一些包装糖的JS文件中.您很高兴从您的内容页面,背景页面或弹出页面引用该JS文件.但是,如果您的应用程序同时具有后台页面弹出页面,那么您是否会在每个页面中包含相同的已编译JS文件?这会不会导致chrome加载脚本两次(在两个实例中)?如果是这样,似乎很多浪费只是为了得到你想要的零件而解释一切.或者require()/ exports模式是否可以防止对特定上下文可能不需要的模块进行不必要的解释?

如果这不是最佳实践,那么如何以一种方式打包模块,使每个页面以干燥的方式获得所需的模块,而不必重复自己或每页都有单独的浏览器捆绑包?其他人如何接触这个话题?

google-chrome-extension browserify

6
推荐指数
1
解决办法
3335
查看次数

chrome.extension.getBackgroundPage()在一段时间后返回null

当我的chrome扩展程序在chrome启动时加载时,一切似乎都没问题,chrome.extension.getBackgroundPage()返回正确的值(从popup.js中获取).但是经过一段时间(2-3分钟),特别是如果浏览器不被允许,该函数返回null.只有关闭和重新打开铬才能解决问题.我试图通过以下方式操纵它:

if (chrome.extension.getBackgroundPage() == null) window.location.reload(true);
Run Code Online (Sandbox Code Playgroud)

正如为什么chrome.extension.getBackgroundPage()返回null所示?,这有时会有所帮助,但大多数时候它只是不断刷新应用程序,以便必须关闭chrome.有人知道可能出错吗?

javascript null google-chrome-extension

4
推荐指数
1
解决办法
4244
查看次数