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
loopback 01的更多相关文章
- Linux网络服务01——Linux网络基础设置
Linux网络服务01--Linux网络基础设置 一.查看及测试网络 1.使用ifconfig命令查看网络接口 (1)查看活动的网络接口 ifconfig命令 [root@crushlinux ~]# ...
- loopback文件系统
回环设备(loop-back devices) 实验环境 centos7.2 回环设备( 'loopback device')允许用户以一个普通磁盘文件虚拟一个块设备.(磁盘文件 --> 块设备 ...
- 01.SQLServer性能优化之----强大的文件组----分盘存储
汇总篇:http://www.cnblogs.com/dunitian/p/4822808.html#tsql 文章内容皆自己的理解,如有不足之处欢迎指正~谢谢 前天有学弟问逆天:“逆天,有没有一种方 ...
- 用Kotlin创建第一个Android项目(KAD 01)
原文标题:Create your first Android project using Kotlin (KAD 01) 作者:Antonio Leiva 时间:Nov 21, 2016 原文链接:h ...
- Java企业实训 - 01 - Java前奏
前言: 虽然个人专攻.NET方向,不过由于个人是干教育行业的,方方面面的东西,不能说都必须精通,但肯定多少都会涉及到. 一个菜鸟学员,从啥都不会,经过一步步学习,最后到企业上手掌管一个模块甚至一个项目 ...
- Node.js 教程 01 - 简介、安装及配置
系列目录: Node.js 教程 01 - 简介.安装及配置 Node.js 教程 02 - 经典的Hello World Node.js 教程 03 - 创建HTTP服务器 Node.js 教程 0 ...
- 0042 MySQL学习笔记-入门--01
基本概念: 数据库DB(database): 数据的仓库,数据的集合,是数据的一种结构化的存储 数据库管理系统DBMS(database management system): 管理数据库的一套软件 ...
- Android快乐贪吃蛇游戏实战项目开发教程-01项目概述与目录
一.项目简介 贪吃蛇是一个很经典的游戏,也很适合用来学习.本教程将和大家一起做一个Android版的贪吃蛇游戏. 我已经将做好的案例上传到了应用宝,无病毒.无广告,大家可以放心下载下来把玩一下.应用宝 ...
- ArtifactTransferException: Failure to transfer org.apache.openejb:javaee-api:jar:5.0-1
最近在myeclipse上创建maven类型的web项目的时候,出现了一个错误. ArtifactTransferException: Failure to transfer org.apache.o ...
随机推荐
- ubunto安装pycharm
转载:http://www.cnblogs.com/zhcncn/p/4027025.html 1. 下载 http://www.jetbrains.com/pycharm/download/ 选择L ...
- java获取短uuid
public static String[] chars = new String[] { "a", "b", "c", "d&q ...
- Sightseeing(poj 3463)
题意:给出n个点m条单向边,求最短路的道路条数和比最短路大1的道路条数的和. /* 用Dijkstra更新2*n次,来更新出所有点的最短路和次短路,顺便更新方案数. */ #include<cs ...
- LeetCode : 223. Rectangle Area
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAABRQAAAQ0CAYAAAAPPZBqAAAMFGlDQ1BJQ0MgUHJvZmlsZQAASImVlw
- NYOJ题目436sum of all integer numbers
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAr0AAAHKCAIAAACBiWRrAAAgAElEQVR4nO3dP1LjSts34G8T5CyEFB
- #Mac技巧#如何在Mac系统上新建TXT文档,以及打开txt文稿的乱码问题如何解决
使用mac的朋友可能都有这样的疑问,mac系统下强大的文本编辑器居然不能保存常用的TXT格式? 又或者打开同事在windows上保存的TXT文件会出现如下情况: 最近Hans也被这些问题困扰着,于是便 ...
- 登录到mysql查看binlog日志
查看当前第一个binlog文件的内容 show binlog events; 查看指定binlog文件内容 show binlog events in 'mysql-bin.000002'; 查看当前 ...
- 以 MAMP 为 Mac OS X 安装并设置 PHP开发环境
PHP 页需要通过 Web 服务器处理.因此,要在 Dreamweaver 中使用 PHP 进行开发,您需要访问支持 PHP 的 Web 服务器和 MySQL 数据库.phpMyAdmin 也很实用, ...
- 无废话ExtJs 入门教程七[登陆窗体Demo:Login]
无废话ExtJs 入门教程七[登陆窗体Demo:Login] extjs技术交流,欢迎加群(201926085) 在这节我们通过前几节讲的内容做一个登陆页面,把前几节讲的内容贯穿一下. 1.代码如下: ...
- gitlab安装部署
参考文章: https://gitlab.com/gitlab-org/gitlab-recipes/tree/master/install/centos http://www.xsjxmx.com/ ...