`

NodeJS Marko Quick Reference

 
阅读更多

原创转载请注明出处:http://agilestyle.iteye.com/blog/2354215

 

Prerequisite

npm init
npm install express --save --registry=https://registry.npm.taobao.org
npm install marko --save --registry=https://registry.npm.taobao.org

 

Project Directory

 

SRC

package.json

{
  "name": "hello-marko",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "express": "^4.14.0",
    "marko": "^3.14.0"
  }
}

 

server.js

require('marko/node-require').install();

var express = require('express');
var app = express();

app.get('/', require('./src/pages/home'));

app.listen(3000, function() {
	console.log('listening on port 3000');
});

 
template.marko

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Marko Demo</title>
</head>
<body>
	<h1>Marko Demo</h1>

	Hello ${data.name}
</body>
</html>

 

index.js

var template = require('./template.marko');

module.exports = function(req, res) {
	template.render({
		name: 'Marko'
	}, res);
};

Note:

index.js就相当于页面的controller 

 

Run


Note:

启动node server之后,会自动生成一个template.marko.js文件,有兴趣的话,可以点开看看 


 

Test

http://localhost:3000/


 

接着修改template.marko如下:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Marko Demo</title>
</head>
<body>
	<h1>Marko Demo</h1>

	Hello ${data.name}

	<ul if(data.colors)>
        <li for(color in data.colors)>
            ${color}
        </li>
    </ul>
    <div else>
        No colors!
    </div>
</body>
</html>

修改index.js如下:

var template = require('./template.marko');

module.exports = function(req, res) {
	template.render({
		name: 'Marko',
		colors: ['red', 'green', 'blue']
	}, res);
};

重新run和test

 

Reference

http://markojs.com/docs/marko/get-started/

https://www.npmjs.com/package/marko

  • 大小: 2.7 KB
  • 大小: 6.4 KB
  • 大小: 34.7 KB
  • 大小: 19.1 KB
  • 大小: 21.6 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics