NodeJSとExpressを学習しようとしています。私はnode-localstorageパッケージを使ってlocalstorageにアクセスしています。このヘルパー関数の登録Node.JS + Express
のような機能に直接ルート/ social.js
exports.index = function(req, res)
{
if (typeof localStorage === "undefined" || localStorage === null)
{
var LocalStorage = require('node-localstorage').LocalStorage;
localStorage = new LocalStorage('./scratch');
}
localStorage.setItem('myFirstKey', 'myFirstValue');
console.log(localStorage.getItem('myFirstKey'));
res.render('social/index', {title: "Start"});
}
しかし、私はすべて私の他に何度も何度もこのコードを記述する必要はありませんが、コードを使用するとき、これは動作しますローカルストレージにアクセスするときに機能します。
var localStorage = helpers.getLocalStorage
などのようにアクセスできるヘルパー機能を登録できるようにしたいと考えています。
NodeJSでこれを行うにはどうすればよいですか?私はapp.localsについて何かを見たことがありますか?しかし、どのように私のルートのアプリオブジェクトにアクセスできますか?
はい。 \t { のvarのlocalStorageは=( 'ノード-のlocalStorage')を必要と 'exports.getLocalStorage =機能(){ 場合(typeof演算のlocalStorage === "未定義" ||のlocalStorage === nullの):私はsimillar何かをしました。ローカルストレージ; localStorage =新しいLocalStorage( './ scratch'); } return localStorage; }; ' 「ベストプラクティス」と考えるか?私はNode/expressを学びたいと思っています。私が何を意味しているか知っていれば、それは正しい方法です。 – JOSEFtw
さて、実際にあなたがしようとしていることに依存しています。私は知っている "共通の知恵"は共通の機能のためのlib /フォルダを使用することです(TJ Holowaychuk自身[ここ](http://vimeo.com/56166857)のアドバイスとして) [ローカライズされたヘルパー](https:// github。com/madhums/nodejs-express-mongoose-demo/tree/master/test)を実行します。私は 'require( 'utils')'の 'utils'へのパスを気にする必要がないので、このメソッドを好む(他のすべてのメソッドは相対パスを使います)。 – verybadalloc
@varybadalloc:私はNodeプロジェクトにアクセスできました(Nodeは私には初めてです)。既存のNodeパッケージと思われるrequire( 'util')がすでにあることに気付きました。接続権はありませんか?もしそうなら、私は分かりやすくするためヘルパーモジュールの名前を変えるだけです。 – Sean