Подтвердить что ты не робот

Define не определен Javascript Node

Я пытаюсь запустить файл Javascript с помощью Node, чтобы опубликовать обновления блога в Tumblr.

До сих пор в моем файле main.js у меня это:

// Tumblr Information
var tumblr = require('./vendor/tumblr');
tumblr.request(require('request'));
var Blog;

var jq = require('./vendor/jquery-1.11.1.min');
var reqq = require('./vendor/require');
var inher = require('./vendor/inheritance');

var grammars = require('./tracery/grammar');

Но затем я получаю следующую ошибку при запуске Node main.js

ReferenceError: define is not defined
    at Object.<anonymous> (B:\Documents\Google Drive\Programming\CMPM 147 Tracery\Tumblr Tracery\js\
tracery\grammar.js:6:1)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.<anonymous> (B:\Documents\Google Drive\Programming\CMPM 147 Tracery\Tumblr Tracery\js\
main.js:11:16)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)

И вот где ошибка возникает в файле grammar.js:

define(["./modifiers", "./node"], function(universalModifiers, Node) {'use strict';

    // other stuff...
});

Я не думаю, что модуль загружается должным образом, потому что он заявляет, что функция определения не определена. Я считаю, что эта функция исходит из requireJS, но я не думаю, что правильно ее загружаю. Кто-нибудь имеет какие-либо предложения о том, почему определение не может быть определено, или предложения о том, как загрузить правильный модуль?

Спасибо.

4b9b3361

Ответ 1

Похоже, вы пытаетесь загрузить библиотеку, которая закодирована в соответствии с шаблоном AMD (асинхронное определение модуля), который Node не поддерживается изначально. Для библиотеки библиотеки вполне возможно написать такую ​​библиотеку, чтобы ее можно было загрузить в Node. Пользователи библиотеки должны расширить возможности загрузки модуля Node, чтобы понять AMD, чтобы загрузить такую ​​библиотеку.

Есть несколько загрузчиков, которые вы можете использовать, тот, который я использую, amd-loader. После установки с помощью npm просто добавьте

require("amd-loader");

перед загрузкой любого модуля AMD.