browserify とか導入するのが面倒な時に。
バックエンド側:
var fs = require('fs');
var path = require('path');
var express = require('express');
app = express();
app.get('/node_modules/:name', function (req, res) {
var dir = path.resolve('node_modules', req.params.name);
fs.readFile(path.join(dir, 'package.json'), { encoding: 'utf8' }, function (err, data) {
if (err) throw err;
var pkg = global.JSON.parse(data);
fs.readFile(path.join(dir, pkg.main), { encoding: 'utf8' }, function (err, data) {
if (err) throw err;
res.setHeader('Content-Type', 'text/javascript; charset=UTF-8');
res.send(data);
});
});
});
app.listen();
フロントエンド側 HTML:
<script src="/node_modules/d3" charset="UTF-8"></script>
<script>
console.log(d3.version);
// -> 3.4.8
<script>