2017-09-23 80 views
0

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

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(); 
+0

你能重现相同的代码或在github上分享吗? – Adrian

+0

你能提供代码吗?据我所知,从后端,你不能导入整个库,只有数据到客户端。 –

+0

okey,我会发布 –

回答

0

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

res.send('js code here') 尽管您没有发布足够的代码,但更多的代码可以帮助我们帮助您。

相关问题