как экспортировать объект ejs в публичный каталог - PullRequest
0 голосов
/ 24 февраля 2019

Я создаю приложение для экспресс-узлов и в качестве моей системы шаблонов используем ejs.

Теперь в моем файле new.ejs я хочу очистить его с помощью javascripts, чтобы он был чисто HTML.

У меня внутри скрипта new.ejs есть такой скрипт.

    <script> 
          let amount;

          function calculate(){
                  let numOfPersons = Number($('#numOfPersons').val());
                  let tourPrice = Number("<%= tour.price %>"); //ejs object here

                  let totalPrice = numOfPersons * tourPrice
                  $("#total").val(totalPrice);
                  amount = totalPrice
          }   
</script>

Теперь я попытался перенести его в мой файл public/javascript/calculate.js, но он говорит, что tour is not defined, потому что <%= tour %> не импортируется в файл calculate.js.

вочистить мой код, я попробовал это внутри моего new.ejs

 <script src="javascripts/calculate.js">
  export default "<%=  tour %>" //this is the name of my object
</script>

и внутри calculate.ejs

import {tour} from "../../views/booking/new.js";

let amount;


          function calculate(){
                  let numOfPersons = Number($('#numOfPersons').val());
                  let tourPrice = Number("<%= tour.price %>");

                  let totalPrice = numOfPersons * tourPrice
                  $("#total").val(totalPrice);
                  amount = totalPrice
          }   

Но это не работает.Я попытался обратиться к MDN для импорта и экспорта, и я думаю, что мой синтаксис правильный, но не работает.

Что я сделал не так?Пожалуйста, помогите.

Спасибо

1 Ответ

0 голосов
/ 24 февраля 2019

при экспорте по умолчанию вам не нужно {} вокруг переменной.Попробуйте удалить это

в вашем коде import {tour} from "../../views/booking/new.js" , но нет файла с именем new.js, я думаю, это должно быть new.ejs, попробуйте с этим, если он не работает, пожалуйста, дайте мне знать.Более того, если вы хотите передавать какую-либо переменную со страницы ejs на сервер, большую часть времени мы будем связывать значение в параметрах тела и использовать его там, где оно направлено / требуется.

...