2017-02-06 8 views
0

У меня возникли проблемы с браузером для работы с моим веб-приложением.Пример браузерирования реализации с помощью Node.JS, Express и EJS

Я просматриваю в терминале и создает файл bundle.js. Я положил его в общей папке/JavaScripts и включил его в свой файл EJS, но до сих пор не могу получить код для работы:

терминал:

browserify public/javascripts/chat.js > bundle.js 

chat.js файл:

$(function() { 
    var parse = require("parse").Parse; 
    let query = new Parse.Query('Chat'); 
    let subscription = query.subscribe(); 

    subscription.on('open',() => { 
     //console.log('subscription opened'); 
     alert("sub opened"); 
    }); 

    subscription.on('create', (object) => { 
     //console.log('object created: ' + object.get('message')); 
     alert('object created: ' + object.get('message')) 
    }); 
}); 

EJS файл:

<script src="javascripts/bundle.js "></script> 

ответ

0

src="javascripts/bundle.js" является относительным путем. когда ваше приложение попадет на этот путь, он будет искать папку с именем javascript в той же папке, в которой ваш server.js (или любые файлы, которые работают с запущенным узлом), и не может найти его; Потому что я уверен, что вы не собираетесь обслуживать свое фоновое приложение в своей общей папке.

Я думаю, вы имели в виду src="/javascripts/bundle.js". Теперь это абсолютный путь и если вы обслуживаете статические файлы из папки public:

app.use(express.static(path.join(__dirname, 'public'))); 

этот файл будет служить от http://yourhost/javascripts/bundle.js независимо от того, где вы server.js сориентированы или работает.

+0

Я получаю 200 на файл Src, но я все еще не в состоянии получить доступ к модулю Синтаксического из файла bundle.js –

0

ОБНОВЛЕНИЕ: Не осознавал этого, но мне пришлось включить скрипт chat.js под сценарий bundle.js и заставить его работать. Благодаря @Dnitro

изменил его:

<script src="javascripts/bundle.js "></script> 
<script src="javascripts/chat.js "></script>