我正在尝试使用webpack为节点模块生成一个bundle.js文件。 bundle.js文件将在客户端浏览器中使用。
问题是,该项目有一些在node_modules目录中使用静态文件的依赖项。例如,其中一个静态文件的路径是
/node_modules/node-pogo-signature/lib/proto/Signature.proto
当我尝试在浏览器中运行bundle.js文件时,出现此错误
GET http://localhost:3000/proto/Signature.proto 404 (Not Found)
如果我将Signature.proto文件复制到我的/ public文件夹中,则该包将会找到它。但是,手动将静态文件从/ node_modules复制到/ public可能很繁琐且难以维护。 有没有更好的方法呢?
答案 0 :(得分:1)
var myfile = require('./node_modules/node-pogo-signature/lib/proto/Signature.proto');
然后您可以将其添加到路线中,例如,如果您使用快递,则可以显示package.json
文件的内容:
// create a new express server
var express = require('express'); // We use express as web server http://expressjs.com
var app = express();
// serve the files out of ./public as our main files
app.use(express.static(__dirname + '/public'));
// start server on the specified port and binding host
app.listen(appEnv.port, '0.0.0.0', function() {
console.log("server started");
});
// Shows content of package.json
var myfile = require('./package.json');
app.get('/showfile', function (req, res){
if (debug) {
console.log("showfile received a request");
};
res.send(myfile);
});
您只需在网址末尾添加/ showfile,例如:http://localhost:6006/showfile