diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e212594 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ + +node_modules diff --git a/README.md b/README.md new file mode 100644 index 0000000..592d2e7 --- /dev/null +++ b/README.md @@ -0,0 +1,162 @@ +# Getting Start + +## prepare + +``` +npm init +npm install --save base2 +``` + +## hello world + +create app.js + +``` +var app = require('../')({ + // debug: true, + root:__dirname +}) + +app.get('/', function(req, res){ + res.json({hello: 'world'}); +}) + +app.start(3029); +``` + +run + +``` +npm run 1 +``` + +open in browser + +- http://127.0.0.1:3029/ + +## mount routes from folder + +install express + +``` +npm i --save express +``` + +create app.js + +``` +var app = require('base2')({ + // debug: true, + root:__dirname, + "routes": "routes", +}); + +app.start(3029); +``` + +create routes folder + +routes/index.js + +``` +var express = require('express'); +var router = express.Router(); + +/* GET home page. */ +router.get('/', function(req, res, next) { + res.send('respond with a routes /'); +}); + +module.exports = router; +``` + +routes/users.js + +``` +var express = require('express'); +var router = express.Router(); + +/* GET users listing. */ +router.get('/', function(req, res, next) { + res.send('respond with a resource /users'); +}); + +module.exports = router; +``` + +run + +``` +npm run 2 +``` + +open in browser + +- http://127.0.0.1:3029/ +- http://127.0.0.1:3029/users + +## views engine with jade + +duplicate mount-routes with views-jade + +install jade + +``` +npm i --save jade +``` + +modify app.js + +``` +var app = require('base2')({ + // debug: true, + root:__dirname, + "routes": "routes", + "views" : "views" +}); + +app.start(3029); +``` + +only add views option + +run + +``` +npm run 3 +``` + +## static server + +### simple static server + +``` +var app = require('base2')({ + // debug: true, + root:__dirname, + "public": "public", +}) + +app.start(3029); +``` + +only add public option + +run + +``` +npm run 4 +``` + +### static server 2 + +with views + +run + +``` +npm run 5 +``` + +- http://127.0.0.1:3029/ +- http://127.0.0.1:3029/index.html diff --git a/helloworld/app.js b/helloworld/app.js new file mode 100644 index 0000000..a3996e0 --- /dev/null +++ b/helloworld/app.js @@ -0,0 +1,10 @@ +var app = require('base2')({ + // debug: true, + root:__dirname +}) + +app.get('/', function(req, res){ + res.json({hello: 'world'}); +}) + +app.start(3029); \ No newline at end of file diff --git a/mount-routes/app.js b/mount-routes/app.js new file mode 100644 index 0000000..8e655a7 --- /dev/null +++ b/mount-routes/app.js @@ -0,0 +1,7 @@ +var app = require('base2')({ + debug: true, + root:__dirname, + "routes": "routes", +}); + +app.start(3029); \ No newline at end of file diff --git a/mount-routes/routes/index.js b/mount-routes/routes/index.js new file mode 100644 index 0000000..6391113 --- /dev/null +++ b/mount-routes/routes/index.js @@ -0,0 +1,9 @@ +var express = require('express'); +var router = express.Router(); + +/* GET home page. */ +router.get('/', function(req, res, next) { + res.send('respond with a routes /'); +}); + +module.exports = router; diff --git a/mount-routes/routes/users.js b/mount-routes/routes/users.js new file mode 100644 index 0000000..2174cc0 --- /dev/null +++ b/mount-routes/routes/users.js @@ -0,0 +1,9 @@ +var express = require('express'); +var router = express.Router(); + +/* GET users listing. */ +router.get('/', function(req, res, next) { + res.send('respond with a resource /users'); +}); + +module.exports = router; diff --git a/package.json b/package.json new file mode 100644 index 0000000..13422d4 --- /dev/null +++ b/package.json @@ -0,0 +1,32 @@ +{ + "name": "base2-examples", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "1": "./node_modules/.bin/nodemon helloworld/app.js", + "2": "./node_modules/.bin/nodemon mount-routes/app.js", + "3": "./node_modules/.bin/nodemon views-jade/app.js", + "4": "./node_modules/.bin/nodemon static-server/app.js", + "5": "./node_modules/.bin/nodemon static-server2/app.js", + "test": "echo \"Error: no test specified\" && exit 1" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/i5ting/base2-examples.git" + }, + "author": "", + "license": "ISC", + "bugs": { + "url": "https://github.com/i5ting/base2-examples/issues" + }, + "homepage": "https://github.com/i5ting/base2-examples#readme", + "dependencies": { + "base2": "^1.0.10", + "express": "^4.13.3", + "jade": "^1.11.0" + }, + "devDependencies": { + "nodemon": "^1.8.1" + } +} diff --git a/static-server/app.js b/static-server/app.js new file mode 100644 index 0000000..444c5a4 --- /dev/null +++ b/static-server/app.js @@ -0,0 +1,7 @@ +var app = require('base2')({ + // debug: true, + root:__dirname, + "public": "public", +}) + +app.start(3029); \ No newline at end of file diff --git a/static-server/public/index.html b/static-server/public/index.html new file mode 100644 index 0000000..baf12b4 --- /dev/null +++ b/static-server/public/index.html @@ -0,0 +1 @@ +www \ No newline at end of file diff --git a/static-server2/app.js b/static-server2/app.js new file mode 100644 index 0000000..6ed31de --- /dev/null +++ b/static-server2/app.js @@ -0,0 +1,9 @@ +var app = require('base2')({ + debug: true, + root:__dirname, + "routes": "routes", + "views" : "views", + "public": "public" +}); + +app.start(3029); \ No newline at end of file diff --git a/static-server2/public/index.html b/static-server2/public/index.html new file mode 100644 index 0000000..baf12b4 --- /dev/null +++ b/static-server2/public/index.html @@ -0,0 +1 @@ +www \ No newline at end of file diff --git a/static-server2/routes/index.js b/static-server2/routes/index.js new file mode 100644 index 0000000..307f1f4 --- /dev/null +++ b/static-server2/routes/index.js @@ -0,0 +1,9 @@ +var express = require('express'); +var router = express.Router(); + +/* GET home page. */ +router.get('/', function(req, res, next) { + res.render('index', { title: 'Express' }); +}); + +module.exports = router; diff --git a/static-server2/routes/users.js b/static-server2/routes/users.js new file mode 100644 index 0000000..2174cc0 --- /dev/null +++ b/static-server2/routes/users.js @@ -0,0 +1,9 @@ +var express = require('express'); +var router = express.Router(); + +/* GET users listing. */ +router.get('/', function(req, res, next) { + res.send('respond with a resource /users'); +}); + +module.exports = router; diff --git a/static-server2/views/error.jade b/static-server2/views/error.jade new file mode 100644 index 0000000..51ec12c --- /dev/null +++ b/static-server2/views/error.jade @@ -0,0 +1,6 @@ +extends layout + +block content + h1= message + h2= error.status + pre #{error.stack} diff --git a/static-server2/views/index.jade b/static-server2/views/index.jade new file mode 100644 index 0000000..3d63b9a --- /dev/null +++ b/static-server2/views/index.jade @@ -0,0 +1,5 @@ +extends layout + +block content + h1= title + p Welcome to #{title} diff --git a/static-server2/views/layout.jade b/static-server2/views/layout.jade new file mode 100644 index 0000000..15af079 --- /dev/null +++ b/static-server2/views/layout.jade @@ -0,0 +1,7 @@ +doctype html +html + head + title= title + link(rel='stylesheet', href='/stylesheets/style.css') + body + block content diff --git a/views-jade/app.js b/views-jade/app.js new file mode 100644 index 0000000..4861044 --- /dev/null +++ b/views-jade/app.js @@ -0,0 +1,8 @@ +var app = require('base2')({ + debug: true, + root:__dirname, + "routes": "routes", + "views" : "views" +}); + +app.start(3029); \ No newline at end of file diff --git a/views-jade/routes/index.js b/views-jade/routes/index.js new file mode 100644 index 0000000..307f1f4 --- /dev/null +++ b/views-jade/routes/index.js @@ -0,0 +1,9 @@ +var express = require('express'); +var router = express.Router(); + +/* GET home page. */ +router.get('/', function(req, res, next) { + res.render('index', { title: 'Express' }); +}); + +module.exports = router; diff --git a/views-jade/routes/users.js b/views-jade/routes/users.js new file mode 100644 index 0000000..2174cc0 --- /dev/null +++ b/views-jade/routes/users.js @@ -0,0 +1,9 @@ +var express = require('express'); +var router = express.Router(); + +/* GET users listing. */ +router.get('/', function(req, res, next) { + res.send('respond with a resource /users'); +}); + +module.exports = router; diff --git a/views-jade/views/error.jade b/views-jade/views/error.jade new file mode 100644 index 0000000..51ec12c --- /dev/null +++ b/views-jade/views/error.jade @@ -0,0 +1,6 @@ +extends layout + +block content + h1= message + h2= error.status + pre #{error.stack} diff --git a/views-jade/views/index.jade b/views-jade/views/index.jade new file mode 100644 index 0000000..3d63b9a --- /dev/null +++ b/views-jade/views/index.jade @@ -0,0 +1,5 @@ +extends layout + +block content + h1= title + p Welcome to #{title} diff --git a/views-jade/views/layout.jade b/views-jade/views/layout.jade new file mode 100644 index 0000000..15af079 --- /dev/null +++ b/views-jade/views/layout.jade @@ -0,0 +1,7 @@ +doctype html +html + head + title= title + link(rel='stylesheet', href='/stylesheets/style.css') + body + block content