загрузка модуля npm с grunt + angular + bower

Я использую angular с Bower и grunt и хочу загрузить модули npm. Затем я использую require('мой модуль, который находится в node_modules') в моем main.js, но он не работает.

Я пытался загрузить requirejs для Bower, но у меня пока нет возможности это сделать.

Проблема в том, что для загрузки модуля Bower достаточно просто загрузить его в мой index.html и найти правильный путь, например ‹ /.../.../.../mymodule.js.

Однако это не так при использовании npm, поскольку в модуле нет конкретного файла js.

Спасибо за помощь.


person arezkidji    schedule 22.07.2017    source источник
comment
Не знаете, что вам нужно, можно поконкретнее? Если вам нужно сослаться на модуль из папки node_modules, просто добавьте файл import [node_modules_folder]/file.js, который вам нужен, в main.js.   -  person Alan Macgowan    schedule 23.07.2017
comment
Думаю, вы должны использовать jspm, webpack или angular-cli (также webpack) для загрузки модулей, используя, например. import * as _ from 'lodash'. Эти инструменты обеспечивают сопоставление имени модуля с его путем, не беспокоясь об этом. Избегайте этого для каждого обновления версии любого модуля, требующего обновления путей импорта.   -  person cYrixmorten    schedule 23.07.2017


Ответы (1)


Может быть, это может помочь:

Чтобы заставить Require и Import работать в среде AngularJS, используйте browserify или webpack, которые объединяют все ваши файлы javascript, содержащие require/import, в один для разрешения зависимостей, чтобы браузер мог понимать синтаксис require/import, который в противном случае не понимается браузерами.

С ИСПОЛЬЗОВАНИЕМ BROWSERIFY

Для использования browserify при использовании grunt (app.js — это файл, содержащий require, вы можете указать другие файлы в массиве),

browserify: {
        options: {
            browserifyOptions: {
                debug: true,
                insertGlobalVars: []
            },
            transform: ['brfs' ]
        },
        app: {
            files: {
                ['app.js']
            }
        }
}

зависимости node_modules, необходимые для использования browserify: brfs, grunt-browserify

person SKSpall    schedule 26.07.2017