使用nodejs服务器发送javascript文件

时间:2017-09-23 16:40:48

标签: javascript node.js express

我有nodejs服务器,它将javascript文件发送到客户端。但在客户端这个javascript文件不导入使用的库。在客户端,我加载这个库,然后收到文件。为什么这个文件找不到库。有任何想法吗? 项目结构:enter image description here

Controller.js代码:

$(document).attr("title", "Модерен всеки ден");
const mainContent = $('#main-content');
$('#h1').html('Онлайн магазин за аксесоари');

if (window.sessionStorage.length < 2) {
    $('#login').removeClass('hidden');
    $('#register').removeClass('hidden');
    $('#logout').addClass('hidden');
    $('#shopping-bag').removeClass('hidden');
    $('#username-label').addClass('hidden');
} else {
    $('#login').addClass('hidden');
    $('#register').addClass('hidden');
    $('#logout').removeClass('hidden').on('click', () => {window.sessionStorage.clear(); window.location.href = ''});
    $('#shopping-bag').removeClass('hidden');
    $('#username-label').html(`Здравей ${window.sessionStorage.getItem('firstName')}!`).removeClass('hidden');
}

Promise.all([
    loadTemplate('home'),
    data.getHotOffers()
]).then(([template, offers]) => {
    if (mainContent.children().length === 2) {
        $(mainContent).children().first().remove();
    }
    mainContent.prepend(template(JSON.parse(offers)));
}, err => console.log(err));

节点JS服务器代码:

.....
app.get('/home-controller', function (request, response) {
    response.sendFile('./controllers/homeController.js', { root: __dirname });
});
......

Main.js代码:

import 'jquery';
import 'jquery-ui';
import Navigo from 'navigo';
import { load as loadTemplate } from 'templates';
import * as data from 'data';
import * as request from 'requester';

const router = new Navigo(null, true, '#!');
router.on({'/': request.get('/home-controller')
}).resolve();

1 个答案:

答案 0 :(得分:0)

您无法发送.js文件。您可以发送HTML,然后包含立即使用的脚本标记。或者引用外部脚本。

res.send(&#39; js code here&#39;) 你没有发布足够的代码,更多的代码可以帮助我们。