Можно ли использовать nodejs express с любой библиотекой jquery, такой как datatables?

Я хочу иметь возможность использовать nodejs с jquery без необходимости выполнять установку npm, поскольку я хочу использовать jquery строго на стороне клиента. Я знаю, что это невозможно с механизмом шаблонов Jade, поскольку его синтаксис совершенно другой, но возможно ли это с каким-либо другим механизмом шаблонов? Я бы предпочел не иметь кучу HTML-кода, чтобы сделать nodejs счастливым.


person Rolando    schedule 12.09.2012    source источник


Ответы (2)


Безусловно, с Jade можно использовать jQuery или любую другую клиентскую библиотеку JavaScript. Вам нужно будет выяснить синтаксис, чтобы включить файл JavaScript и код JavaScript с любым движком, который вы используете. С Jade вы можете использовать script() для включения внешнего файла (например, библиотеки jQuery), а затем скрипт для кодирования ваших конкретных вызовов. Ознакомьтесь с документацией по Jade здесь: https://github.com/visionmedia/jade#readme

Ниже приведен пример файла Jade, который (1) включает jQuery, а затем (2) обновляет элемент HTML («сообщение») через jQuery:

doctype 5
html
  head
    title= title
    link(rel='stylesheet', href='/stylesheets/style.css')
    script(src='http://code.jquery.com/jquery-1.8.1.js')
  body
    h1= title
    p#container Welcome to #{title}
    p#message (to be filled in)
    script
      alert('hello world');
      $("#message").html("message set through jquery")
person Hector Correa    schedule 12.09.2012
comment
Я хотел бы использовать следующий datatables.net, будет ли он совместим с Jade? - person Rolando; 13.09.2012

Не думайте о Jade как о другом языке или о чем-то, что каким-либо образом несовместимо с вашим существующим стеком HTML/JS — это просто сокращенный способ написания HTML, который позволяет вам вводить данные на стороне сервера в качестве побочного продукта.

Для моего личного стека я использую экспресс + jade на стороне сервера, а затем angularjs, jquery и twitter bootstrap на стороне клиента. Я использую require.js для управления всем моим импортом, и в моем нефритовом шаблоне у меня есть только одна ссылка script(), которая указывает на файл main.js, в котором есть вся моя логика require.js.

Но, что касается экспресс/нефрита, ключ в том, чтобы убедиться, что вы понимаете, что это не для того, чтобы усложнить вашу жизнь, а для того, чтобы облегчить ее. Если вы чувствуете, что это сбивает с толку, переключитесь на другой механизм шаблонов или просто экспресс-обслуживание статических html-страниц без каких-либо инъекций и настройте службы AJAX для получения необходимых данных на стороне сервера.

person Myk    schedule 13.09.2012