Chrome 扩展错误:Require 未定义

Posted

技术标签:

【中文标题】Chrome 扩展错误:Require 未定义【英文标题】:Chrome extension error: Require is not defined 【发布时间】:2016-04-05 22:44:14 【问题描述】:

我的目标是在 node_modules/ 中包含一个文件夹。使用 Node.js 我可以做到:

var example = require('example');

但在我的谷歌浏览器扩展中它不起作用,它会抛出错误:

要求未定义。

【问题讨论】:

【参考方案1】:

我没有找到在 Chrome 的 sn-p 中直接运行 node 模块的方法。但是,您可以改为运行节点调试。

    npm install -g node-inspector(安装节点调试模块) node-debug app.js(运行节点调试)

然后,chrome会打开一个调试窗口,你可以通过http://localhost:8080/debug?port=5858的url自行查询; 而且这个调试是基于Chrome本身的v8调试的。

【讨论】:

【参考方案2】:

取决于您是想在后台页面还是在内容脚本中使用它,但我假设您正在谈论后台页面。

在清单文件中:

"background": 
    "scripts": [ "scripts/require.js","scripts/main.js"]

在 main.js 中:

require.config(
    baseUrl: "scripts"
);

require( [ /*...*/ ], function(  /*...*/ ) 
    /*...*/

);

然后在 background.html 中:

<script data-main="scripts/main.js" src="scripts/require.js>

【讨论】:

以上是关于Chrome 扩展错误:Require 未定义的主要内容,如果未能解决你的问题,请参考以下文章

未捕获的类型错误:无法读取 chrome 扩展中未定义的属性“本地”

在microsoft边缘扩展中未定义chrome

未捕获的引用错误,未定义通知

chrome.runtime.sendMessage 引发“未捕获的类型错误:无法调用未定义的方法‘sendMessage’”

Chrome扩展程序的chrome对象属性未定义

如何在 Chrome 33+ 中通过 GPO 自动安装 Chrome 扩展(Chrome 错误或 GPO 安装的扩展的未记录更改?)