browserify требуют в требуемом файле не может найти модуль

Я пытаюсь упаковать свои угловые js в один скрипт, используя browserify. Это хорошо работает, когда я использую require из моего основного файла app.js, но когда один из модулей требуется в app.js содержит свой собственный require, зависимость не включена в мой комплект.

Напомним, в app.js (ссылка на линию в репо):

require("splash-header");
// more code here

splashHeader.js:

require("social-button-directive");
// more code here

У socialButtons.js нет зависимостей.

browserify --list app.js не перечисляет splashHeader.js как положено, а комплектация производится через browserify app.js -o bundle.js не включает в себя JavaScript SocialButton. Поэтому, конечно, если я в любом случае пытаюсь загрузить сайт, я получаю Uncaught Error: Cannot find module 'social-button-directive' у splashHeader's require('social-button-directive'),

Также важно отметить, что я сопоставляю имена модулей с местоположениями файлов, используя опцию "browser" в package.jsonи использование browerify-shim, поскольку ни один из моих модулей не совместим с Common-js.

соответствующий раздел package.json:

"dependencies": {
    "browserify": "~9.0.3",
    "browserify-shim": "~3.8.3"
},
"browserify": {
    "transform": [
        "browserify-shim"
    ]
},
"browserify-shim": {
    "splash-header": {
        "depends": "angular",
        "exports": "angular.module('splash-header').name"
    },
    "social-button-directive": {
        "depends": "angular",
        "exports": "angular.module('social-button-directive').name"
    }
},
"browser":{
    "splash-header": "./ng-modules/splashHeader/splashHeader.js",
    "social-button-directive": "./ng-modules/socialButtons/socialButtons.js"
}

Я был на этом все утро и совершенно тупик. Я сократил оскорбительный проект, чтобы служить минимальным примером проблемы. Чтобы проверить это, просто установите clone и npm. Если вы смотрите подробно, вот рабочая / не рабочая версия diff.

Я попытался загрузить субмодуль по относительному пути (require('./ng-modules/socialButtons/socialButtons.js) `), не повезло. Возможно, я неправильно подбил вещи? Мой подход к этому исходит из этой статьи.

РЕДАКТИРОВАТЬ: Это, безусловно, моя конфигурация browserify-shim. Все работает после преобразования модулей в commonjs и удаления параметров browserfy-shim из package.json. Я думаю, я просто должен был написать все это, чтобы закрепить это. знак равно

0 ответов

Другие вопросы по тегам