聚合物和外部 node.js 库

Polymer and external node.js Libraries

我正在使用 Polymer 1.0,现在是时候添加一个外部 .JS 库了。
我要添加的库称为 SuperAgent,它是一个 Node.js 模块,能够为 XMLHttpRequests 提供强大的 API。也是Polymer团队推荐的。

步骤 01 - 添加 bower 模块

$ bower install --save superagent

步骤 02 - 添加 <script> 引用

<!-- SuperAgent -->
<script 
   type="text/javascript" 
   src="/bower_components/superagent/lib/client.js"></script>

现在我在 Chrome 中收到一条错误消息:

Uncaught ReferenceError: require is not defined

如果我检查 client.js 文件,它的开头有这些语句,这是我出错的原因:

/**
 * Module dependencies.
 */

var Emitter = require('emitter');
var reduce = require('reduce');

现在,我的项目是使用 独占 bower 完成的,我需要做什么才能让我的 Polymer 应用程序理解 "require"?是否有一个 bower 组件 + 脚本可以做到这一点?

以前用过SuperAgent,对Polymer比较熟悉(但没怎么用过)

SuperAgent 是一个服务器端 nodeJS npm 包,用于为 运行 一批单元测试建立服务器,然后关闭。

Polymer 是一种客户端工具,用于充分利用阴影 DOM 现在可用。

我不知道这两者如何协同工作,但 SuperAgent 使用的 require 语句是 nodeJS require 语句,需要其他模块。你的浏览器不理解 require 的原因是因为浏览器还不理解模块化(尽管他们很快就会在进来的路上使用 ES6 模块)。