2017-04-01 34 views
1

如果不使用Browserify或Webpack等包裝軟件,我在nodejs中有一個簡單的服務器。nodejs如何將node_modules目錄提供給前端以進行訪問?

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文件是在「公共」目錄下,文件夾結構如下所示:

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

我想簡單地把index.html中script標籤,但不工作 <script src="../node_modules/vue2-google-maps/dist/vue-google-maps.js"></script>

回答

1

你已經在使用快速靜態中間件服務從node_modules目錄中的文件,所以像這樣的路徑應該工作:

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

我寫這篇文章:

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