Tam*_*mas 20 node.js express bower
我已经更改了我的Express.js项目以使用bower来安装组件.所有组件都安装在/ components(/components/jquery/jquery.js ...等)下.
我也创建了自己的路由器,如下所示:
app.get('/', routes.index); // main page
app.get('/p/:name', routes.p); //redirect routes
app.get('/api/contacts', api.contacts); //look at all
app.get('/api/contact/:id', api.contact); //look at one
app.post('/api/contact', api.add); //add contact
app.put('/api/contact/:id', api.edit); //edit&update contact
app.delete('/api/contact/:id', api.delete); //delete contact
Run Code Online (Sandbox Code Playgroud)
没有路由/组件因此http://my.project/components/jquery/jquery.js回来了Cannot GET /components/jquery/jquyery.js
有人可以让我知道为/ components下的所有组件添加路由的最佳方法是什么?
Pic*_*els 53
您可能希望使用静态中间件来执行此操作.我不熟悉凉亭,但是如果您安装了所有组件,/components那么您可以执行以下操作:
app.use(express.static(__dirname + '/components'));
Run Code Online (Sandbox Code Playgroud)
这意味着如果你有,/components/jquery/jquery.js你可以包括它
<script src='/jquery/jquery.js'></script>
Run Code Online (Sandbox Code Playgroud)
如果你更喜欢用它作为前缀,/components你可以这样做:
app.use('/components', express.static(__dirname + '/components'));
Run Code Online (Sandbox Code Playgroud)
这样您可以使用以下命令请求脚本:
<script src='/components/jquery/jquery.js'></script>
Run Code Online (Sandbox Code Playgroud)
如果你使用connect-assets,这样的东西效果很好:
app.use require("connect-assets")(paths: ['assets/js', 'assets/css', 'bower_components'])
Run Code Online (Sandbox Code Playgroud)
然后在你的js清单中你可以简单地包括像其他js资产一样的bower组件.资产/ application.js中:
// bower components:
//= require jquery/dist/jquery
//= require underscore/underscore
//= require backbone/backbone
// local assets:
//= require my_app
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10343 次 |
| 最近记录: |