3

我正在为 AngularJS 开发一个可重用的组件(模块),它可用于启用使用 AngularJS 构建的应用程序的离线功能。

为了在不重新发明轮子的情况下实现客户端存储功能,我决定使用谷歌提供的这个名为Lovefield的优秀库,它的工作原理是,

一个跨浏览器、类似 SQL 的关系查询引擎,用于纯 JavaScript 中的 Web。

我知道如何通过在我的模块中创建自定义指令、服务等来用 angularjs 包装这个库。但我的问题是,

在分发我的模块时,我是否需要在我自己的模块代码中包含 lovefiled 的 Javascript 代码,或者我是否应该要求开发人员自己<script>在他的代码中使用标签包含它html?推荐的方法是什么? (显然这两种方法都可以使用)

我在这里浏览了一些 3rd 方角度模块,但无法弄清楚推荐的方法是什么。

4

2 回答 2

1

您应该要求开发人员添加<script>您应该有一个 package.json 文件的标签,该文件表明您有什么样的依赖 -

{
  "name": "angular-lovefield",
  "version": "1.0.0",  
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "youre-name",
  "license": "ISC",
  "dependencies": {
    "lovefield": 1.0.0.1 
  }

}

npm init您可以使用命令创建此文件

祝你好运。

于 2015-11-10T17:50:30.487 回答
-2

我知道这不完全是您的意思,但是.. 我已经做过同样的事情“通过创建自定义指令、服务等,用 angularjs 包装这个库”。

我使用 bower 分发模块(称为ng-lovefield)并在 bower.json 文件中添加 lovefield 作为依赖项,我建议如果您希望创建一个新模块,您也可以这样做(无论您使用哪种包管理器选择 - npm \ bower)

包括实际<script>html任务运行器职责,例如 grunt 或 gulp,您可以使用grunt-wiredep将所有 bower 依赖项自动注入到您的 html 中。如果您出于某种原因不想使用任务运行程序,我想您必须手动执行。

于 2016-01-19T13:13:20.417 回答