覆盖meanjs路由而不覆盖meanjs代码

时间:2016-02-21 10:14:34

标签: meanjs

meanjs核心模块为家庭状态提供默认索引页面:

// Home state routing
$stateProvider
.state('home', {
  url: '/',
  templateUrl: 'modules/core/client/views/home.client.view.html'
})

我已将自己的模块mymod添加到meanjs应用程序中。我想使用我自己的部分modules/mymod/client/views/browse.client.view.html

如何在不修改core.client.route.js文件的情况下执行此操作?我总是避免修改从框架中获得的代码并且相信覆盖。建议的方法是什么?

1 个答案:

答案 0 :(得分:4)

我认为你误解了MEANJS的观点。来自MEANJS github page

  

MEAN.JS是一个全栈JavaScript开源解决方案,它为MongoDB,Node.js,Express和基于AngularJS的应用程序提供了一个坚实的起点。我们的想法是解决连接这些框架的常见问题,构建一个强大的框架来支持日常开发需求,并帮助开发人员在使用流行的JavaScript组件时使用更好的实践。

MEANJS不是一个严格的平台,如果你改变自己的代码就会停止工作。当然,有些代码块不应该被修改,但是有些块可以/应该修改,以避免在应用程序增长时代码混乱。

话虽如此,你仍然可以按原样保留路线:

$stateProvider
    .state('home', {
        url: '/',
        templateUrl: 'modules/core/client/views/home.client.view.html'
     });

在此部分modules/core/client/views/home.client.view.html中,您可以使用AngularJS指令ng-include,并在src中为您的自定义部分browse.client.view.html添加路径。这样您就不需要修改core.client.route.js,只需要修改部分modules/core/client/views/home.client.view.html