2015-09-28 68 views
1

我正在开发几个AngularJS应用程序,我正在寻找最佳实践,以便我可以在这些项目之间共享代码,特别是指令。我面临的最大问题如下:在AngularJS应用程序之间共享代码的最佳实践

我的大多数指令至少包含一个js文件和html模板。 js文件通常包含对模板的引用。当我从两个不同的项目中包含相同的js文件时,处理不同路径的最佳方式是什么?

可能有更好的方法来处理这种情况,我甚至不能想到。所以,我想知道是否有人遇到过这种情况以及如何处理这种情况。谢谢!

+1

这个问题*可能*是一个有用的问题,但它目前的措辞方式,它缺乏细节。如果您提供说明问题的特定代码,则可以提供特定的修补程序。然而,现在看来,这听起来像是你想开始讨论可能的选择,而不是解决方案。 – Claies

+0

一般而言,“最佳实践”一词为许多人提供了讨论标志,他们甚至不会阅读问题的内容。 – Claies

+0

我目前对这种情况使用templateoverride,所以无论谁使用该指令都可以引入模板并将其放置在任何他们需要的位置,并且您有一个使用'$ templateCache'的templateoverride在该项目中正确找到它。 – ajmajmajma

回答

1

我发现使用编译的HTML模板使用像https://www.npmjs.com/package/grunt-angular-templates这样的构建工具很有帮助。如果那个不符合你的需求,有很多Gulp/Grunt替代品。

然后,您需要将模板保留在名称空间目录中,以便您的使用者应用程序不会发生冲突。

然后你当你只需要消耗一个编译的JS文件。模板被编译进去。如果您需要覆盖应用程序中的模板,只需使用模板名称空间约定来提供覆盖。

0

也许你可以在nodejs风格(与CommonJS)中编写代码,找到你的文件在不同的文件夹等等,然后用browserify把你的js代码合并成一块。 HTML模板也可以使用angular template cache和一些工具如this one for gulp或者某些类似的工具咕噜咕噜地轻松转移到js文件中。

相关问题