Я хочу иметь возможность использовать nodejs с jquery без необходимости выполнять установку npm, поскольку я хочу использовать jquery строго на стороне клиента. Я знаю, что это невозможно с механизмом шаблонов Jade, поскольку его синтаксис совершенно другой, но возможно ли это с каким-либо другим механизмом шаблонов? Я бы предпочел не иметь кучу HTML-кода, чтобы сделать nodejs счастливым.
Можно ли использовать nodejs express с любой библиотекой jquery, такой как datatables?
Ответы (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")
Не думайте о Jade как о другом языке или о чем-то, что каким-либо образом несовместимо с вашим существующим стеком HTML/JS — это просто сокращенный способ написания HTML, который позволяет вам вводить данные на стороне сервера в качестве побочного продукта.
Для моего личного стека я использую экспресс + jade на стороне сервера, а затем angularjs, jquery и twitter bootstrap на стороне клиента. Я использую require.js для управления всем моим импортом, и в моем нефритовом шаблоне у меня есть только одна ссылка script(), которая указывает на файл main.js, в котором есть вся моя логика require.js.
Но, что касается экспресс/нефрита, ключ в том, чтобы убедиться, что вы понимаете, что это не для того, чтобы усложнить вашу жизнь, а для того, чтобы облегчить ее. Если вы чувствуете, что это сбивает с толку, переключитесь на другой механизм шаблонов или просто экспресс-обслуживание статических html-страниц без каких-либо инъекций и настройте службы AJAX для получения необходимых данных на стороне сервера.