javascript
  • node.js
  • express
  • pug
  • 2015-04-25 3 views 0 likes 
    0

    Я использую нефрит с экспресс. Это мой экспресс-код для обслуживания статических файлов:Не удается использовать статические файлы в экспресс

    app.use(express.static(__dirname + "/frontend")); 
    

    И это мой нефритовый код в layout.jade:

    link(rel='stylesheet', href='/css/style.css') 
    
    script(src='/bower_components/angular/angular.min.js') 
    script(src='/app.js') 
    

    По какой-то причине StackOverflow не позволяет мне показать свою структуру папок но у меня есть каждый файл, упомянутый здесь, в моей папке с интерфейсом, расположенной в корневом каталоге. Я пробовал комментировать ex.exe и использовать полный путь, но это также не работает.

    Я получаю ошибку 404.

    +0

    Пробовали ли вы 'ссылка (отн = '' таблицы стилей, HREF = '/ внешний интерфейс/CSS/style.css')' – adeneo

    +0

    Что такое '__dirname' в настройках ? Вы можете 'console.log()' it? Это корневой каталог? – jfriend00

    +0

    Я попытался поставить/frontend/и он не работает. Как мне использовать console.log __dirname на сервере? –

    ответ

    -1
    app.use('/frontend', express.static('frontend')); 
    link(rel='stylesheet', href='/frontend/css/style.css') 
    
    +0

    Это нечто иное, чем то, как OP хочет, чтобы он работал. Не требуется, чтобы OP использовал/frontend перед каждым файлом на стороне клиента, который является тем, что вы рекомендуете. – jfriend00

    +0

    Это не работает. Это моя консольная ошибка: GET http: // localhost: 3000/frontend/css/style.css 404 (не найдено) –

    0

    Вышеуказанный код, который вы опубликовали, выставит активы на /. Чтобы разоблачить их на /frontend, вам необходимо использовать следующее.

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

    Если вы хотите создать «виртуальный» (поскольку путь на самом деле не существует в файловой системе) префикс пути для файлов, обслуживаемых express.static, вы можете указать путь монтирования статический каталог, как показано ниже:

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

    Смежные вопросы