質問

私はnode.jsでいくつかのR&Dをやっていますが、これまでのところ、クライアントとサーバーの間に共有コードを持つためにコードを再利用する方法に興味があります。

その必要性の良い例は、npmでインストールしたbackbone.jsです。

現在、私は次のようなディレクトリを持っています:

app.js
    public/
    routes/
    views/
    node_modules/
    tests/

明らかに私はexpress.jsを使用していて、すべてのクライアント側のコードが下にあります public フォルダー場所 css, images, js ファイルはあります。

では、どのようにして、バックボーンにモデルを使用して、サーバーとバックの両方で使用できるのでしょうか?

また、require.jsを使用してJavaScript AMDを使用していました。アプリケーションを構造化して変調するために、慣れていました。私はこのようなものを持っていたので、クライアント側でそれを使用する方法を確かに確かにしてください: <script data-main="js/main" src="js/libs/Require/require.js"> ただし、require.jsはNPMを介してインストールされているため、パブリックフォルダーの下にないため、ロードする方法が表示されません。

ありがとう

役に立ちましたか?

解決

パブリックフォルダーから.jsを要求するシンボリックリンク(LN -S)を追加できます。

バックボーンモデルを公開するだけで、サーバーとクライアントの両方で同じファイルをロードするためにrequirejsを使用できると思います。

他のヒント

これはやや遅いと思いますが、クライアント側でbrowserifyを使用する代わりに、使用できることを追加したかっただけです。 https://npmjs.org/package/define サーバー側では、AMDスタイルのモジュールを定義できますが、ノードのrequire()を必要とします。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top