zoukankan      html  css  js  c++  java
  • loopback 01

    关于loopback的相关blog

    安装: 官网

    $ mkdir office-supplies
    $ cd office-supplies
    $ slc loopback
    $ slc loopback:model product
    $ slc run
    

    添加视图和静态资源

    //server.js
    
    app.set('view engine', 'jade');                      //添加jade
    app.set('views', __dirname + '/views');      //添加目录server/views,注意这里是在server中
    
    • 静态资源路径在middleware.json中配置
      "files": {
        "loopback#static": {
          "params": "$!../client"
        }
      },
    

    页面路径

    • 原本路径是要写在server/boot.roots.js文件中,可以将路径单独放到一个文件夹中; 添加server/routers
    /routers/index.js
    
    module.exports = function(app) {
    
      var router = app.loopback.Router();
      router.get('/', function(req, res, next) {
      	res.render('index', {user: null});
      });
    
      return router
    };
    
    • 修改server/boot/root.js
    var index = require('../routers/index')(server);
    
    server.use('/', index);
    

    在server端使用coffeeScript

    //server.js; 安装coffee-script之后
    
    var coffeeScript = require('coffee-script');
    coffeeScript.register();
    //或
    require('coffee-script');
    

    安装gulp,前端使用coffeeScript和less

    • 安装gulp之后,添加Gulpfile.js文件
    //Gulpfile.js
    var gulp = require('gulp');
    
    require('gulp-load-params')(gulp);   //安装;之后使用`gulp.loadTasks`
    
    gulp.loadTasks(__dirname);  //在文件同级建立tasks文件夹
    
    gulp.task('default',['watch']);  //1.执行watch
    
    
    • tasks文件夹中添加文件
    //tasks/watch.js
    
    module.exports = function(gulp){
      var livereload = require('gulp-livereload');   //安装,同时下载chrome相应插件
    
      gulp.task('reload', function(){
        gulp.src(['./server/views/**/*.jade'])
            .pipe(livereload());
      });  //4
    
      gulp.task('watch:frontend', function(){
        livereload.listen();
        gulp.watch([
          './client/javascripts/**/*.js',      
          './client/stylesheets//**/*.css',
          './server/views/**/*.jade'
        ], ['reload']);   //3.创建并监听,这三个文件夹改变的时候执行reload
      });
    
      gulp.task('watch:frontend:coffee', function(){
        gulp.watch('./coffee/**/*.coffee', ['coffee:client'])       //创建coffee文件夹并添加coffeescript文件
      });  //3.监听.coffee,改变的时候执行coffee:client; 这里写client区分服务器端的coffee
    
      gulp.task('watch:frontend:less', function(){
        gulp.watch('./less/**/*.less', ['less'])                   //创建less文件夹并添加less文件
      })  //3.监听.less,改变的时候执行less;  
    
      gulp.task('watch', [
        'watch:frontend:coffee',
        'watch:frontend:less',
        'watch:frontend'
      ]);  //2.执行这三个
    }
    
    //tasks/less.js
    
    module.exports = function(gulp){
      var less    = require('gulp-less');
      var minify  = require('gulp-minify-css');
    
      gulp.task('less', function(){
        gulp.src('./less/**/*.less')
          .pipe(less())
          .pipe(minify())
          .pipe(gulp.dest('./client/stylesheets/'))
      });  4.编译,压缩并输出less文件
    }
    
    //tasks/coffee.js
    
    module.exports = function(gulp){
      var coffee = require('gulp-coffee');
      var coffeeLint = require('gulp-coffeelint');
    
      gulp.task('coffee:client', function(){
        gulp.src('./coffee/**/*.coffee')
          .pipe(coffeeLint())
          .pipe(coffee())
          .pipe(gulp.dest('./client/javascripts/'));
      });  4.编译并输出js文件
    }
    

    利用nodemon重新自动启动程序

    • 安装之后,修改package.json文件; 也可以利用gulp-nodemon将自动启动设置在gulpfile.js中;
    //在package.json的scripts中添加
    
    "start": "nodemon -e 'js, coffee, json' ./server/server.js"    //分别重新启动表示监听的文件夹后缀名和重新启动执行的文件名
    
    //运行 npm start
       
    

    关于开始程序的boot方法

    • boot(app, [options], [callback]): Initialize an application from an options object or a set of JSON and JavaScript files.
    • 如果options是string类型的话,将其设置为root路径;然后
      • 在设置的根路径下查找datasources.json文件设置DataSources
      • 在设置的根路径下查找model-config.json文件指定models
      • 在设置的根路径下查找config.json文件指定应用程序的配置
    • 如果是对象,就会相应查找models, dataSources等属性来配置,具体查看boot

    使用querystring动态生成查询字符串

    • querystring包是nodejs自带的;
    var qs  = require('querystring');
    var user = {name: "jinks", age: 23}
    
    user = qs.stringfy(user);
    //name=jinks&age=23
    

    安装包: 安装的时候注意如果是仅在dev下安装的,则用npm install --save-dev

  • 相关阅读:
    【pytorch-ssd目标检测】可视化检测结果
    【pytorch-ssd目标检测】测试自己创建的数据集
    【pytorch-ssd目标检测】验证自己创建的数据集
    【pytorch-ssd目标检测】训练自己创建的数据集
    【pytorch-ssd目标检测】制作类似pascal voc格式的目标检测数据集
    【猫狗数据集】可视化resnet18的输出
    【猫狗数据集】pytorch训练猫狗数据集之创建数据集
    【猫狗数据集】对一张张图像进行预测(而不是测试集)
    Spring(注解方式)简单入门
    Oracle plsql中文字段乱码,where条件中文字段搜不到结果集
  • 原文地址:https://www.cnblogs.com/jinkspeng/p/4378153.html
Copyright © 2011-2022 走看看