当由Express呈现时,CSS不从Jade加载

时间:2016-05-06 05:49:35

标签: node.js express pug

以下是快速路由的代码:

var express = require('express')
  bodyParser = require('body-parser'),
  path = require('path'),

var app = new express()
app.use(bodyParser.json())

app.set('views', path.join(__dirname, 'views'))
app.set('view engine', 'jade')

app.use(express.static())
app.use('/', express.static(path.join(__dirname, '/public')))

app.get('/', function (req, res) {
  res.render('index')
})

这里是玉文件:

html
    head
        title
        link(href='./simple-color-picker.css', rel='stylesheet')

    body
        block scripts 
            script(type='text/javascript' src='../public/bundle.js')
        form(method="post",enctype="multipart/form-data",action="/")
            p
                input(type="text",name="title",placeholder="title")
            p
                input(type="file",name="upl")
            p
                input(type="submit")

如果我拖动index.html(从jade文件构建),它在浏览器中完美运行,但在运行express文件时,我的CSS和一个P5.js文件在我的bundle.js中得到404错误。我想我应该将它们作为静态文件提供,但这样可以让ERR_CONNECTION REFUSED

1 个答案:

答案 0 :(得分:0)

我假设您将css和js文件放在公共文件夹中,如

- 公共

---简单滤色picker.css

--- bundle.js

然后

更改

 link(href='./simple-color-picker.css', rel='stylesheet')
 script(type='text/javascript' src='../public/bundle.js')

 link(href='/simple-color-picker.css', rel='stylesheet')
 script(type='text/javascript' src='/bundle.js')