Почему мой onPlick inPug не вызывает мою функцию js? - PullRequest
0 голосов
/ 28 июня 2019

Я пытаюсь вызвать функцию в моем js-файле со стороны html. В настоящее время я использую PUG my для шаблонизатора и не могу заставить его работать.

Views / client.js

function doSomething() {
  alert("Just work");
}

Views / customize.pug

button(onclick='doSomething()') fail
    <script src='client.js'></script>

Если я скопирую свою функцию в customize.pug. И добавьте его, используя

script.
function doSomething() {
  alert("Just work");
}

Работает просто отлично. Тем не менее, я никогда не могу вызвать функцию в client.js

1 Ответ

0 голосов
/ 28 июня 2019

Если вы используете экспресс, ваш клиентский javascript должен находиться в общедоступном каталоге с использованием express.static. Ваш client.js в каталоге Views не доступен напрямую без явного маршрута.

Вы можете открыть весь публичный каталог в app.js / index.js

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

Поместите client.js как public/javascripts/client.js

И в вашем Views/customize.pug вы можете включить его

button(onclick='doSomething()') fail
script(src='/javascripts/client.js')
...