Как включить отдельные файлы javascript внешнего интерфейса в expressjs? - PullRequest
0 голосов
/ 29 апреля 2018

У меня есть файл javascript с более чем 200 строками кода для логики интерфейса, например, что происходит, когда кто-то нажимает на кнопку, изображение и т. Д., Как в игре.

Я не могу понять это. Как связать / включить, указать expressjs использовать этот файл для логики интерфейса, а не полагаться только на файлы .ejs?

Я не запрашиваю module.exports для экспорта отдельных деталей из файла. Я хочу, чтобы весь файл был экспортирован.

Пожалуйста, помогите.

Ответы [ 2 ]

0 голосов
/ 30 апреля 2018

Вы также можете изменить свои <script> строки в файле, чтобы они указывали на путь, как показано ниже:

<script src="/filejs"></script>

Затем в вашем app.js добавьте еще одну конечную точку с именем /filejs со следующим кодом:

app.get('/filejs', function(req, res) {
res.sendFile(__dirname + '/folder/file.js') //change this to your file path
})
0 голосов
/ 29 апреля 2018

Сначала вы должны указать Express, где находится ваш статический файл:

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

Тогда в вашем маршруте, где вы отображаете вид, вы можете сделать что-то вроде этого:

return res.render("yourView",{
       param1: param1,
       scripts: [
           'javascripts/yourFile.js'
        ]
});

Массив 'scripts' недоступен внутри файла ejs. В footer.ejs вы можете сделать:

<% if ( typeof scripts !== 'undefined') { %>
    <% scripts.forEach(function(script){ %>
        <script src="/<%- script %>"></script>
    <% }); %>
<% } %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...