跳到主要內容

[NodeJS] 建置記錄

1.建立新專案︰

$ express --view=pug nodeservice

create : nodeservice
create : nodeservice/package.json
create : nodeservice/app.js
create : nodeservice/public
create : nodeservice/public/stylesheets
create : nodeservice/public/stylesheets/style.css
create : nodeservice/public/images
create : nodeservice/routes
create : nodeservice/routes/index.js
create : nodeservice/routes/users.js
create : nodeservice/public/javascripts
create : nodeservice/views
create : nodeservice/views/index.pug
create : nodeservice/views/layout.pug
create : nodeservice/views/error.pug
create : nodeservice/bin
create : nodeservice/bin/www

install dependencies:
$ cd nodeservice && npm install

run the app:
$ DEBUG=nodeservice:* npm start

2.安裝相依項目(install dependencies 同上面所寫)

$ cd nodeservice && npm install

以下是目前會用的到,也一起安裝

npm install date-utils --save
npm install fs --save
npm install quick-local-ip --save
npm install mongodb --save

3.在console.log上加上時間
在app.js上增加

require('date-utils');
// log override
console.log=(function() {
      var orig = console.log;
      return function() {
        try {
          var tmp=process.stdout;
          process.stdout=process.stderr;
          // get now
          var now = new Date();
          // format time
          var now_formated = now.toFormat("YYYY-MM-DD HH24:MI:SS");
          var strDate = '[' + now_formated + '] ';
          if (Buffer.isBuffer(arguments[0])) {
            arguments[0] = strDate + arguments[0];
          } else if (typeof arguments[0] !== 'object') {
            arguments[0] = strDate + arguments[0];
          } else if (typeof arguments[0] === 'object') {
            arguments[0] = strDate + JSON.stringify(arguments[0]);
          }
          orig.apply(console, arguments);
        } finally {
          process.stdout=tmp;
        }
    };
})();

4.啟動Server時在Log上印出server的url︰
在bin/www增加

var myip = require('quick-local-ip');
function onListening() {
  var addr = server.address();
  var bind = typeof addr === 'string'
    ? 'pipe ' + addr
    : 'port ' + addr.port;
  debug('Local IP: ' + myip.getLocalIP4() + ' Listening on ' + bind);
  debug('http://' + myip.getLocalIP4() + ':' + addr.port);
}

5.啟動Server

$ DEBUG=nodeservice:* npm start
> nodeservice@0.0.0 start /Users/kirk/Documents/NodeProjects/nodeservice
> node ./bin/www

nodeservice:server Local IP: 192.168.3.35 Listening on port 3000 +0ms
nodeservice:server http://192.168.3.35:3000 +2ms

6.取資料

//HttpHeader:
var udid = req.headers['udid'];
//Post Attribute:
var product = req.body.product;
//Get QueryString:
router.get('/WTXO', function(req, res, next)
var m = req.query.m;
//Get from RESTFUL Url
router.get('/WTXO/:t', function(req, res, next)
var month = req.params.t;


以上。

這個網誌中的熱門文章

[Swift] String Format for NT$

  var amount = NSNumber(int: 8880) var _currencyFormatter = NSNumberFormatter() _currencyFormatter.numberStyle = NSNumberFormatterStyle.DecimalStyle //_currencyFormatter.currencyCode = "NT$ " //_currencyFormatter.formatterBehavior = NSNumberFormatterBehavior.BehaviorDefault //_currencyFormatter.negativeFormat = "-$#,##0" _currencyFormatter.positiveFormat = "NT$ #,##0" _currencyFormatter.stringFromNumber(amount)   輸出結果︰ NT$ 8,880   參考︰ http://www.cokco.cn/thread-35548-1-1.html http://www.freair.com/bbs/simple/?t558.html

小米路由器 mini 刷機

這次會來刷機是因為要給 MOD 使用 但原本的 小米路由器 mini 沒支援 IPTV 不想再買一台路由器(已經有四台了XD,有3台是被淘汰的)   參考文章︰ 1.  ERIC的攝影世界 - 小米路由器mini 免USB打開SSH  ( 備份檔案 ) 2.  ERIC的攝影世界 - 小米路由器mini韌體刷openwrt PandoraBox韌體  ( 備份檔案 ) 3.  寫寫東西 分享心得 - 小米路由器mini 改韌體 可看中華電信MOD iptv功能開啟 刷機 刷rom 直通MOD 老毛子Padavan固件 華碩 RT-AC54U  ( 備份檔案 )   其實找了很多篇文章,大部份都教用官方的那招,但不知道為什麼我就是取不到SSH的密碼 https://d.miwifi.com/rom/ssh  這個一直導不到要的那頁… 所以後來是用了  ERIC的攝影世界 - 小米路由器mini 免USB打開SSH  的第二招  免USB打開SSH 步驟︰ 1. 手動更新韌體到小米路由器mini 穩定版 2.8.14 ( 備用檔案 ) 2. 然後按  ERIC的攝影世界 - 小米路由器mini 免USB打開SSH  的 1.2.3.4.5   2.1 登入  小米路由器mini控制台  後複制網址     http://192.168.31.1/cgi-bin/luci/;stok=521b849e00a11c5b6743aa275ba84ed8 /web/home#router   2.2 將下面的網址紅色部份換成自己的,然後再貼到Browser上     http://192.168.31.1/cgi-bin/luci/;stok=521b849e00a11c5b6743aa275ba84ed8 /api/xqsystem/set_name_password?oldPwd=路由器控制台管理密碼&newPwd=admin     順利的會得到  {"code":0}   2.3 將下面的網址紅色部份換成自己的,然後再貼到Browser上     http://192.168.31.1/cgi-bin/luci/;stok=521b849e00a11c5b6743aa275ba84ed8 /api/x

[PS4 VR] 影片轉檔

怎麼用索尼PSVR看安卓VR 360° 3D視頻 => 將雙眼視頻改成單眼視頻,將格式改成MPEG-4,解析度1920*1080 ,60幀 15000kbps https://kknews.cc/tech/vme9a5l.html ============================================================== Wondershare Filmora:  8.0.0 for Mac 破解版下載 http://www.iphoneba.net/2563.html v8.2.0 http://www.zhinin.com/wondershare_filmora-mac.html ============================================================== for Littlstar http://docs.littlstar.com/plugins/servlet/mobile?contentId=2262863#content/view/2262863 Video Requirements H.264 High@5.1 or lower Max pixel width: 2560 Max frame rate: 60fps (最好是29.97) YUV420/NV12 color space 20Mbps bit rate or lower Audio Requirements Stereo Audio only AAC (Advanced Audio Coding) 320Kbps bit rate or lower Container Requirements File extensions: MP4, MOV No fragmented MP4 No DRM 15 min max duration 以上~ Littlstar不支援平面的3D格式,只支援180或360 而PSVR的媒體播放器不支援3D,只支援360 ============================================================== Make 3D Videos For PSVR Wat