2
我正在使用AngularJS处理Web应用程序,使用Browserify将我的JS文件捆绑到一个包中以便在页面中使用。目前,我的结构是这样的:与Browserify绑定时,是否可以在AngularJS中使用相对路径作为指令templateUrls?
app
|-index.html
|-index.js
|-bundle.js
|-components
|-module1
|-index.js
|-module1.directive.js
|-module1.html
由于捆绑的JavaScript文件中的应用程序文件夹中结束了,我的指令最终看起来像这样:
module.exports = angular.module('module1.directive', [])
.directive('moduleDirective', function() {
return {
restrict: 'E',
templateUrl: './components/module1/module1.html'
);
});
这工作一般做得不够好,但如果在更多的开发人员参与后项目变得足够复杂,则路径可能会变得相当长,并且在以这种方式定义指令时难度更大(更改templateUrl路径是一个相对容易忽略的额外步骤)。
我想知道的是,有没有办法让我在templateUrl中使用相对路径,以便在将文件捆绑在一起时,Browserify能够正确解析它?
编辑:如果有帮助,我可以做这个工作,如果我能找到一种方法来获取脚本的原始文件路径,但是我不知道是否Browserify支持。
它看起来方便,但据我可以告诉它的主要意思为手动别名文件路径(例如,映射“./components/module1' 为”模块1 ',以便我可以直接访问该目录),这并不能真正帮助解决更复杂的文件结构的潜在问题,并且不得不手动管理路径(我仍然必须手动为每个路径别名,所以我主要只是将其他地方的混乱)。我会再看看它,它可能会清理一些东西,但就目前情况而言,我不确定这会对我的具体情况有所帮助。 – 2015-03-31 16:25:54