微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ASP.NET MVC,AngularJS,Bower和部署站点文件夹结构

我已经阅读了很多关于站点文件夹结构(开发和部署)的文章和问题,但仍然误解了下面的问题.

标记了我当前的文件夹结构:

>橙色 – 看起来像lib或供应商文件夹,我想存储独立的组件;
> Blue-文件夹包含我自己的,相对于当前项目(应用程序)文件;
>绿色 – 准备部署文件夹,包含缩小的&仲裁文件,曾经包含在index.html中.

有几个问题我想找到答案:

>是否正确,最佳做法是部署到web服务器只有dist文件夹?
>我应该把我的bower_components& app javascript文件到单个app.min.js文件?我应该用应用程序文件和超级订购来混淆独立组件吗?
>我应该将视图文件夹与模板一起部署到dist / views文件夹中吗?
>将所有图像(css图像,应用程序图像,插件图像)混合到单个dist / images文件夹中是否正确?
>将指令模板存储在views文件夹中是否正确?
>与AngularJS客户端/ app / js / common / helpers.js文件没有关系,– 我无法弄清楚哪个是最明显的位置(可能是原型,自定义函数或对象)

我很乐意为你提供任何帮助.

enter image description here

解决方法

这是我正在构建的角度网站的目录结构,名为 Simple Team,使用browserify绑定在一起.

enter image description here

这是我的文档根目录,我的框架启动并提供公共文件.我的所有JS和HTML都绑定到了app.min.js.

enter image description here

这就是我将指令构建为具有视图require()的模块的方法.

enter image description here

"use strict"

require('moment')
require('angular-ui-router')
require('angular-ui-sortable')
require('angular-gravatar')
require('angular-elastic')
require('angular-local-storage')
require('angular-moment')

require('./routes.js')
require('./modules/focusMe')
require('./modules/selectize')
require('./modules/tagData')
require('./modules/www')
require('./modules/uiSrefActiveIf')

angular
    .module('simple.team',[
        'ngFileUpload','ui.router','ui.sortable','ui.gravatar','ui.bootstrap','selectize','angularMoment','angular-loading-bar','ng-showdown','LocalStorageModule','monospaced.elastic','textAngular','simple.team.uiSrefActiveIf','simple.team.routes','simple.team.focusMe','simple.team.ngBindHtmlUnsafe','simple.team.bytes','simple.team.strings','simple.team.auth','simple.team.tagData','simple.team.userData','simple.team.www'
    ])
    .config(function($urlRouterProvider,cfpLoadingBarProvider) {
        $urlRouterProvider.otherwise('/projects')
        cfpLoadingBarProvider.includeSpinner = false
    })
    .controller('AppCtrl',function($state,$http,$rootScope) {
        // Controller code
    })

路由和控制器

angular
    .module('simple.team.routes',[])
    .config(function($stateProvider) {
        $stateProvider
            .state('projects',{
                url: '/projects',template: require('./layouts/projects.html'),controller: ProjectsCtrl,controllerAs: 'ctrl'
            })
            .state('projects.card',{
                url: '/card/?cardId',template: require('./layouts/card.html'),controller: require('./controllers/card.ctrl.js'),controllerAs: 'ctrl'
            })

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐