Пример wire.js в node.js
Я новичок в Node и, исходя из фона C#, одна из главных вещей, которую я хочу выяснить с помощью Node, это внедрение зависимостей. Я понимаю, что у wire.js есть такая возможность, и я прочитал все, что могу найти на нем, и я даже скачал HTML-пример "Hello World". Тем не менее, я все еще не могу заставить его работать должным образом.
Вот что я сделал, чтобы попытаться заставить его работать:
- Я загрузил файлы hello-wired.js и hello-wired-spec.js в свой проект Node.
- Я вытянул папку с проводами из /js/wire из примера приложения в /node-modules/wire в моем приложении Node.
- Я удалил строку кода в hello-world.js в конструкторе, поскольку у меня не будет узла Html, и я сделал конструктор без параметров. Затем я заменил строку в sayHello, чтобы использовать console.log(), поскольку у меня не будет InnerHtml.
- Я создал тестовое действие как
app.get('/testwired', function (req, res) {
require('wire!hello-wired-spec', function (spec) {
console.log(spec);
res.send(spec.sayHello("this is a test"));
});
});
Ошибка, которую я получаю, состоит в том, что он не может найти провод модуля! Hello-wired-spec. Я предполагаю, что это означает, что я не настроил wire.js, чтобы знать, где взять мою спецификацию, но я не могу понять, как. Я также не знаю, должен ли я использовать обратный вызов для этого или нет.
Любая помощь с благодарностью.
1 ответ
Синтаксис wire! Hello-wired-spec специфичен для загрузчиков AMD (он использует провод в качестве плагина AMD), и AMD не понимает требования Node. Итак, в узле вы будете использовать провод программно, требуя () его, как и любой другой lib. Однако, кроме этого, он будет работать в основном таким же образом: вы передадите ему модуль спецификации проводов, и он вернет обещание, которое будет выполнено, как только оно будет подключено.
Вот простейший возможный "привет", написанный для узла. Файл main.js требует ()s, а затем передает спецификации проводки (в spec.js) к нему. wire() возвращает обещание, которое разрешается в полностью проводном контексте. В спецификации проводов сейчас не так много интересного, но вот куда вы приходите:)
Надеюсь, этого достаточно, чтобы вы смогли начать работу с проводом в узле, но не стесняйтесь проконсультироваться в группе Google cujojs, если у вас есть другие вопросы!