Reduzi meu código para o aplicativo express-js mais simples que eu poderia criar:
var express = require("express"),
app = express.createServer();
app.use(express.static(__dirname + '/styles'));
app.listen(3001);
Meu diretório fica assim:
static_file.js
/styles
default.css
No entanto, ao acessar http://localhost:3001/styles/default.css
, recebo o seguinte erro:
Cannot GET / styles /
default.css
Eu estou usando express 2.3.3
e node 0.4.7
. O que estou fazendo de errado?
Respostas:
Tente
http://localhost:3001/default.css
.Para ter
/styles
no seu URL de solicitação, use:Veja os exemplos nesta página :
fonte
path.join
para superar problemas de separador de diretório de plataforma cruzada. path.join (__ dirname, '/')Eu tenho o mesmo problema. Eu resolvi o problema com o seguinte código:
Exemplo de solicitação estática:
Eu preciso de uma solução mais simples. Isto existe?
fonte
default.css
deve estar disponível emhttp://localhost:3001/default.css
O
styles
inapp.use(express.static(__dirname + '/styles'));
just diz ao express para procurar nostyles
diretório um arquivo estático para servir. Ele não faz (de maneira confusa) parte do caminho em que está disponível.fonte
/public
que temcss
,js
,img
pastas para que você possahttp://localhost:3001/css/default.css
:)Este trabalho para mim:
fonte
No seu server.js:
Você declarou express e app separadamente, cria uma pasta chamada 'public' ou como desejar e, no entanto, pode acessar essa pasta. No seu modelo src, você adicionou o caminho relativo de / public (ou o nome do destino da sua pasta aos arquivos estáticos). Cuidado com os bares nas rotas.
fonte
O que funcionou para mim é:
Em vez de escrever
app.use(express.static(__dirname + 'public/images'));
no seu app.jsBasta escrever
app.use(express.static('public/images'));
ou seja, remova o nome do diretório raiz no caminho. E então você pode usar o caminho estático efetivamente em outros arquivos js, por exemplo:
Espero que isto ajude :)
fonte
Estou usando CSS, JS e fontes do Bootstrap no meu aplicativo. Criei uma pasta chamada
asset
no diretório raiz do aplicativo e coloque todas essas pastas dentro dele. Em seguida, no arquivo do servidor adicionado a seguinte linha:Esta linha permite-me para carregar os arquivos que estão no
asset
diretório do/asset
prefixo do caminho como:http://localhost:3000/asset/css/bootstrap.min.css
.Agora, nas visualizações, posso simplesmente incluir CSS e JS, como abaixo:
fonte
para servir arquivos estáticos (css, imagens, arquivos js) apenas duas etapas:
passe o diretório de arquivos css para o middleware express.static integrado
para acessar arquivos ou imagens css, digite o URL http: // localhost: port / filename.css ex: http: // localhost: 8081 / bootstrap.css
Nota: para vincular arquivos CSS a html, basta digitar
<link href="file_name.css" rel="stylesheet">
se eu escrever esse código
para acessar os arquivos estáticos, basta digitar url: localhost: port / css / filename.css ex: http: // localhost: 8081 / css / bootstrap.css
note que para vincular arquivos CSS com html basta adicionar a seguinte linha
fonte
este funcionou para mim
fonte
Tente acessá-lo com http: // localhost: 3001 / default.css .
Na verdade, você está dando o nome da pasta, ou seja, os estilos, e não o seu suburl.
fonte
Eu encontro meu arquivo css e adiciono uma rota a ele:
Então parece funcionar.
fonte
.use()
e ExpressJSexpress.static()
para enviar para onde você está servindo seus arquivos. Caso contrário, você terá um desses roteadores por arquivo em seu diretório público e isso manterá muita sobrecarga.Além do acima, verifique se o caminho do arquivo estático começa com / (ex ... / assets / css) ... para servir arquivos estáticos em qualquer diretório acima do diretório principal (/ main)
fonte
se sua configuração
em seguida,
coloque em app.js
e consulte o seu style.css: (em algum arquivo .pug):
fonte
pasta do projeto Nodejs .
Usar
app.use( express.static('public'));
e no
index.html
caminho correto dos scripts para<script type="text/javascript" src="/javasrc/example.js"></script>
E agora tudo funciona bem.
fonte
diretório estático
verifique a imagem acima (diretório estático) para a estrutura dir
fonte