working serve run proyecto not node crear app node.js express

node.js - serve - require('' express '') in node js



Express-js no puede obtener mis archivos estáticos, ¿por qué? (13)

He reducido mi código a la aplicación Express-js más simple que podría hacer:

var express = require("express"), app = express.createServer(); app.use(express.static(__dirname + ''/styles'')); app.listen(3001);

Mi directorio se parece a esto:

static_file.js /styles default.css

Sin embargo, cuando accedo a http://localhost:3001/styles/default.css , http://localhost:3001/styles/default.css el siguiente error:

Cannot GET / styles / default.css

Estoy usando express 2.3.3 y el node 0.4.7 . ¿Qué estoy haciendo mal?


Además de lo anterior, asegúrese de que la ruta del archivo estático comience con / (ex ... / asset / css) ... para servir archivos estáticos en cualquier directorio que se encuentre sobre el directorio principal (/ main)


En su server.js:

var express = require("express"); var app = express(); app.use(express.static(__dirname + ''/public''));

Ha declarado Express y la aplicación por separado, cree una carpeta llamada ''public'' o como quiera, y aún así puede acceder a estas carpetas. En su plantilla src, ha colocado la ruta relativa de / public (o el nombre de su destino de carpeta en archivos estáticos). Cuidado con los bares en las rutas.


Encuentro mi archivo css y le agrego una ruta:

app.get(''/css/MyCSS.css'', function(req, res){ res.sendFile(__dirname + ''/public/css/MyCSS.css''); });

Entonces parece que funciona.


Este trabajo para mí:

app.use(''*/css'',express.static(''public/css'')); app.use(''*/js'',express.static(''public/js'')); app.use(''*/images'',express.static(''public/images''));


Estoy usando Bootstrap CSS, JS y Fonts en mi aplicación. Creé una carpeta llamada asset en el directorio raíz de la aplicación y coloco todas estas carpetas dentro de ella. Luego, en el archivo del servidor agregado siguiente línea:

app.use("/asset",express.static("asset"));

Esta línea me permite cargar los archivos que están en el directorio de asset desde el prefijo de ruta /asset como: http://localhost:3000/asset/css/bootstrap.min.css .

Ahora en las vistas puedo simplemente incluir CSS y JS como a continuación:

<link href="/asset/css/bootstrap.min.css" rel="stylesheet">


Intente acceder a él con http://localhost:3001/default.css .

app.use(express.static(__dirname + ''/styles''));

Realmente le estás dando el nombre de carpeta, es decir, estilos, no tu suburl.


Lo que funcionó para mí es:

En lugar de escribir app.use(express.static(__dirname + ''public/images'')); en tu app.js

Simplemente escriba app.use(express.static(''public/images''));

es decir, eliminar el nombre del directorio raíz en la ruta. Y luego puede usar la ruta estática de manera efectiva en otros archivos js, por ejemplo:

<img src="/images/misc/background.jpg">

Espero que esto ayude :)


Pruebe http://localhost:3001/default.css .

Para tener /styles en su URL de solicitud, use:

app.use("/styles", express.static(__dirname + ''/styles''));

Mira los ejemplos en esta página :

//Serve static content for the app from the "public" directory in the application directory. // GET /style.css etc app.use(express.static(__dirname + ''/public'')); // Mount the middleware at "/static" to serve static content only when their request path is prefixed with "/static". // GET /static/style.css etc. app.use(''/static'', express.static(__dirname + ''/public''));


Tengo el mismo problema. He resuelto el problema con el siguiente código:

app.use(''/img'',express.static(path.join(__dirname, ''public/images''))); app.use(''/js'',express.static(path.join(__dirname, ''public/javascripts''))); app.use(''/css'',express.static(path.join(__dirname, ''public/stylesheets'')));

Ejemplo de solicitud estática:

http://pruebaexpress.lite.c9.io/js/socket.io.js

Necesito una solución más sencilla. ¿Existe?


este funciono para mi

app.use(express.static(path.join(__dirname, ''public''))); app.use(''/img'',express.static(path.join(__dirname, ''public/images''))); app.use(''/shopping-cart/javascripts'',express.static(path.join(__dirname, ''public/javascripts''))); app.use(''/shopping-cart/stylesheets'',express.static(path.join(__dirname, ''public/stylesheets''))); app.use(''/user/stylesheets'',express.static(path.join(__dirname, ''public/stylesheets''))); app.use(''/user/javascripts'',express.static(path.join(__dirname, ''public/javascripts'')));


para servir archivos estáticos (css, imágenes, archivos js) solo dos pasos:

  1. pasar el directorio de archivos css a middleware incorporado express.static

    var express = require(''express''); var app = express(); /*public is folder in my project directory contains three folders css,image,js */ //css =>folder contains css file //image=>folder contains images //js =>folder contains javascript files app.use(express.static( ''public/css''));

  2. para acceder a los archivos o imágenes css, simplemente ingrese url http://localhost:port/filename.css ex: http://localhost:8081/bootstrap.css

nota: para vincular archivos css a html simplemente escriba <link href="file_name.css" rel="stylesheet">

si escribo este codigo

var express = require(''express''); var app = express(); app.use(''/css'',express.static( ''public/css''));

para acceder a los archivos estáticos solo escriba url: localhost: port / css / filename.css ex: http://localhost:8081/css/bootstrap.css

nota para vincular archivos css con html solo agrega la siguiente línea

<link href="css/file_name.css" rel="stylesheet">


si tu configuración

myApp | |__ public | | | |__ stylesheets | | | | | |__ style.css | | | |___ img | | | |__ logo.png | |__ app.js

entonces,
poner en app.js

app.use(''/static'', express.static(''public''));

y consulte su style.css: (en algunos archivos .pug):

link(rel=''stylesheet'', href=''/static/stylesheets/style.css'')


default.css debería estar disponible en http://localhost:3001/default.css

Los styles en app.use(express.static(__dirname + ''/styles'')); solo le dice a Express que busque en el directorio de styles un archivo estático para servir. No (confusamente) forma parte de la ruta en la que está disponible.