如何在一个节点包中创建AngularJs指令,然后将其包含在应用程序的另一个节点包中?

时间:2014-08-22 00:06:46

标签: javascript node.js angularjs module bower

如果我有一个指令,我希望将它打包在自己的节点包中;然后从包含main angularjs应用程序的另一个节点包中包含它,我该怎么做?

我对如何解决这个问题的粗略想法是:

  • 在包文件夹
  • 中输入指令的html,javascript和css
  • 启用这些资产的编译 - 预处理,缩小(如何?)
  • 配置为bower包
  • 在app文件夹中安装bower包
    • 如何在本地执行此操作而不发布?
  • 在创建主应用程序的angular.module()语句中,添加包含指令的模块的名称

这是对的吗? 我错过了什么吗?

1 个答案:

答案 0 :(得分:1)

你对如何解决这个问题的看法对我来说很好看。要在列表中回答您的问题:

请查看GruntGulp,了解您的预处理/缩小需求。这些都是出色的构建工具。 Grunt使用得更广泛,但Gulp更新,并且获得了很多支持。我看两个并使用适合你的那个。

如何使用没有发布的本地凉亭依赖: 在主应用程序的bower.json文件中,不要为您的模块添加版本号,而是将文件夹放在本地系统上的文件夹中,如下所示:

{
  "dependencies": {
    "my-module": "/home/me/modules/my-module"
  }
}

为了澄清,您将其称为"节点包"在你的问题中,但实际上,你正在创建一个Bower包。节点包(发布到npmjs.org)用于节点,除非使用Browserify之类的处理,否则不会在浏览器中运行(即便如此,节点包也无法执行浏览器不支持的任何内容,例如文件访问。)Bower包(在bower.io上发布)专门用于浏览器。但是,您会找到发布到NPM和EXM的软件包。 Bower,比如jQuery或下划线,但你不能在浏览器中使用npm jquery包,它是为了在节点中运行而构建的,反之亦然。