comment accéder à assets/images à partir de la vue en Sails.js?
Je veux simplement ajouter une image dans une vue dans mes Voiles-Projet
Mon point de vue-de fichiers a l'emplacement
views/album/albums.ejs
et l'image est situé dans
assets/images/placeholder.png
si j'ajoute l'image de ce
<img src="../../assets/images/placeholder.png">
J'obtiens cette erreur
GET http://localhost:1337/assets/images/placeholder.png 404 (Not Found)
Suis-je raté quelque chose?
OriginalL'auteur klanm | 2013-09-13
Vous devez vous connecter pour publier un commentaire.
Voiles utiliser Grunt (Gruntfile.js dans la racine du projet) pour exécuter certaines tâches pendant les voiles de l'ascenseur. L'une des tâches est de copier les fichiers du répertoire actif .tmp/public/répertoire (dans la version de développement). Donc, si u ajouter à votre fichier de répertoire actif, vous devez redémarrer les voiles (les voiles de l'ascenseur) pour qu'il soit accessible .tmp/public/(ce qui est public accessible répertoire racine). Aussi il est important de noter que si u mettre directement des fichiers .tmp/public/elle sera accessible instant, mais sur la prochaine voiles ascenseur, il sera supprimé, car l'une des tâches Grunt est d'effacer ce répertoire avant de copier les nouveaux fichiers. Tout cela u peut trouver sur les voiles de la documentation (actifs et de gestion des actifs) et par la lecture de Gruntfile.js dans la racine de votre projet
Que faire si il y a des milliers d'images? Comment faire des voiles d'accès à l'image directement?
De cette façon, vous accédez directement les images. Si vous accédez à l'image comme ceci <img src="/images/mon-image.png" />. Mais ce qui est important à noter est que vous stocker vos images à l'intérieur des actifs d'annuaire et au cours de l'ascenseur processus de Voiles se copier sur vous annuaire public. C'est tout. Mais une fois que lorsque les images (ou d'autres actifs) sont copiés au répertoire public, vous y avez accès avec l'url directe. Aussi les Voiles de garder la même structure de répertoire que vous créez à l'intérieur de 'actifs' annuaire.
OriginalL'auteur zmilan
devrait fonctionner. le dossier des actifs, qui est l'équivalent de l'ajout d'un dossier avec la statique middleware dans l'express.
de l'actif de la documentation
Vous pensez donc: "Après le levage, un fichier appelé myApp/assets/newFolder/data.txt peut être consulté à l'adresse localhost:1337/newFolder/data.txt", mais ce n'est tout simplement de fausses informations, même si elle est sur les docs du site (docs.l'anatomie.de l'actif). Je ne peux pas croire qu'ils auraient ce bs.
OriginalL'auteur snyx
Semble que vous avez
grunt
crochet supprimé.Lors du retrait de la grognement crochet, vous devez également spécifier les éléments suivants dans
.sailsrc
pour vos biens pour être servi, sinon tous les biens de retour d'un 404.OriginalL'auteur mrded
J'ai aussi été confrontée au même problème.
Dans les voiles version 0.12.0,
J'ai essayé de montrer une image à partir du dossier des actifs à la page d'accueil.ejs.
Puis en utilisant le dessous de la balise img, il a résolu mon problème.
Mais comme votre ejs fichier est à l'intérieur de vues/album/albums.ejs
Je peut suggérer, ci-dessous peuvent travailler
Mais la bonne approche dans les voiles ejs pages,
Cela doit fonctionner pour vous aussi.
OriginalL'auteur Vishal Biradar