nodejs如何将node_modules目录提供给前端进行访问?

如果不使用Browserify或Webpack等打包软件,我在nodejs中有一个简单的服务器。

var express = require('express'); var bodyParser = require('body-parser'); var request = require('request'); var app = express(); app.use(bodyParser()); app.use(express.static('public')); app.use(express.static('node_modules')); app.post('/api/searchjob', function (req, res) { res.json({data: "hello"}); }); app.get('/', function(req,res) { res.sendfile('public/index.html'); }); app.get('/*', function(req, res){ res.redirect('/'); }) app.listen(process.env.PORT || 3000, function () { console.log('Example app listening on port 3000!') }); 

我希望前端也可以访问一些node_modules包,我该怎么办? 我的index.html文件在“public”目录下,文件夹结构如下所示:

 ├── README.md ├── index.js ├── node_modules ├── package.json ├── public └── yarn.lock 

我试着简单地把script标签放在index.html中,但是不起作用<script src="../node_modules/vue2-google-maps/dist/vue-google-maps.js"></script >

您已经使用快速静态中间件来为您的node_modules目录中的文件提供服务,因此应如此工作:

 <script src="/vue2-google-maps/dist/vue-google-maps.js"></script> 

我写这个:

  app.use(express.static(path.join(__dirname, 'node_modules'))); <script src="/vue2-google-maps/dist/vue-google-maps.js"></script>