[实现] angular+angular-ui-router+requirejs+gulp 搭的小项目

myAngular

自己用angular+angular-ui-router+requirejs+gulp 搭的小项目

配置安装

下载源文件后运行

NPM

npm install 

前端自动化

对静态资源进行监听,编译,使用模块如下:

  • browser-sync
  • run-sequence
  • gulp-less
  • gulp-autoprefixer
  • gulp-sourcemaps
  • gulp-cssnano

使用browser-sync 来进行本地静态资源服务器及刷新浏览器


gulp.task('browserSync', () => {
    browserSync({
        server: {
            baseDir: ''
        }
    })
});

引入less,使用gulp-less,gulp-autoprefixer,gulp-sourcemap,gulp-cssnano 来编译压缩


gulp.task('less', () =>
    gulp
    .src('static/less/bootstrap.less')
    .pipe(sourcemaps.init())
    .pipe(less())
    .pipe(sourcemaps.write({ includeContent: false }))
    .pipe(autoprefixer())
    .pipe(sourcemaps.write('/'))
    .pipe(gulp.dest('static/css'))
    .pipe(browserSync.reload({ stream: true }))
);

使用run-sequence 来同步运行任务插件

gulp.task('default', (callback) => {
    runSequence(['browserSync', 'watch'], callback);
})

项目入口

使用的库主要是

  • requirejs
  • angular
  • angular-ui-router

使用requirejs 来加载页面所需的js

const CURRENT_PATH = '/'
const COMPONENTS_PATH = './components/';

require.config({
    paths: {
        'angular': COMPONENTS_PATH + 'angular/angular',
        'app': CURRENT_PATH + 'app',
        'ui-route': COMPONENTS_PATH + 'angular-ui-router/release/angular-ui-router',
        'route': CURRENT_PATH + 'route/angular.route',
    },
    shim: {
        'angular': {
            exports: 'angular'
        },
        'ui-route': {
            deps: ['angular'],
            exports: 'ui-route'
        }
    }
})

引入

require([
    'angular',
    'app',
    'route',
    'ui-route',
    './controller/controller',
], function() {
    angular.bootstrap(document, ['webapp']);
})

angular 入口 app.js


    var app = angular.module('webapp', [
        'ui.router',
        'webapp.Ctrl',
    ]);
    return app;

angular 路由定义 angular.route.js


const PATH_LAYOUT = './views/common/layout.html';

const PATH_MENU = './views/common/menu.html';

$stateProvider.state('index', {
    url: '/index',
    views: {
        'layout': {
            templateUrl: PATH_LAYOUT
        },
        'side@index': {
            templateUrl: PATH_MENU
        },
        'main@index': {
            templateUrl: './views/homepage/index.html'
        }
    }
})

未完待续(还有相关angular指令,等有时间再补上)

github

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Pines Cheng’s Blog awesome-gulp中文版 一份gulp的资源,插件和使用实例清单, 致...
    大前端之路阅读 2,316评论 0 12
  • 原文标题:Gulp for Beginners作者: Zell Liew翻译:治电小白菜原文地址:https://...
    ZZES_ZCDC阅读 1,618评论 6 18
  • awesome-gulp中文版 一份gulp的资源,插件和使用实例清单, 致力于打造更好的前端工程构建流程。 被老...
    Pines_Cheng阅读 5,572评论 10 117
  • 安装Gulp首先需要安装Node.js,并在控制台输入$ npm install gulp -gMac端需要写成$...
    LaBaby_阅读 971评论 0 1
  • “小姐,起床了,再不起床就要迟到了!” “啊!!!!”金秀娜猛一下坐了起来,她想起来了,今天第一天开学,拉开被子,...
    荧光虫阅读 773评论 0 50