ejsビューからnode_modulesフォルダーに含まれているNodejsライブラリを参照する方法はありますか?
私はexpressjsを使用しており、クライアントライブラリは以下に示すように/ publicフォルダーから提供されているため、ejsビューからnode_modulesフォルダーにアクセスできません。
app.use(express.static(__dirname + '/public'));
ejsビューからnode_modulesフォルダーに含まれているNodejsライブラリを参照する方法はありますか?
私はexpressjsを使用しており、クライアントライブラリは以下に示すように/ publicフォルダーから提供されているため、ejsビューからnode_modulesフォルダーにアクセスできません。
app.use(express.static(__dirname + '/public'));
アップデート:
requirejsを使用すると、node_modules からモジュールを直接提供できるようです。requirejs と nodeのドキュメントを参照してください。
例:
var requirejs = require('requirejs');
requirejs.config({
nodeRequire: require
});
requirejs(['some_module'], function(some_module) {
// Here, some_module will be loaded from your node_modules
});
古い答え:
エクスプレスでapp.localsを使用して、プロパティまたは関数をビューに公開できます。
ドキュメントの例を参照してください(上記のリンク):
app.locals.title = 'My App';
app.locals.strftime = require('strftime');