#javascript #node.js #requirejs
Вопрос:
Я новичок в JS и Node, поэтому я немного смущен тем, как работают модули импорта. Я пытаюсь импортировать js-big-decimal в свой проект, размещенный в Google App Engine, и поэтому я изначально попробовал это:
var bigDecimal = require('js-big-decimal')
Что привело меня к ошибке. Затем я попробовал это в соответствии с документацией RequireJS:
require(['require', 'js-big-decimal'], function (require) {
var bigDecimal = require('js-big-decimal');
});
И теперь я получаю ошибку
require.js:1961 GET xxxxxxx.uk.r.appspot.com/js-big-decimal.js net::ERR_ABORTED 404
и
require.js:168 Uncaught Error: Script error for "js-big-decimal"
https://requirejs.org/docs/errors.html#scripterror
at makeError (require.js:168)
at HTMLScriptElement.onScriptError (require.js:1738)
Согласно документам, это связано с синтаксической ошибкой или чем-то еще где-то, но я не уверен, где именно это может быть. Каков правильный синтаксис для того, что я пытаюсь сделать?
Комментарии:
1. Ошибка вполне объяснима… не проблема синтаксиса (обязательно), но
xxxxxxx.uk.r.appspot.com/js-big-decimal.js
, похоже, ее не существует2. Я имею в виду, что он установлен в моих узловых модулях, и мой вызов require говорит, что он указывает на место, в котором он установлен, поэтому я не знаю, почему это было бы
3. Есть ли у вас js-big-decimal в ваших зависимостях package.json? См.: cloud.google.com/appengine/docs/standard/nodejs/… и npmjs.com/package/js-big-decimal . Когда вы «требуете», это говорит о том, что вы хотите его использовать. Добавление его в пакет.json делает его доступным для использования.
4. Да, перечислены как js-big-decimal, так и requirejs
5. Я повторил вашу проблему, и с моей стороны нет никаких проблем. Возможно, это поможет, если вы предоставите весь свой код, структуру каталогов или изображение,
package.json
иapp.yaml
.