Відповіді:
Якщо ви не знаєте, цілком вірогідні глобальні питання - це правильна відповідь для вас.
У будь-якому випадку вам потрібно зрозуміти:
Ця функція була запроваджена зовсім недавно на луці і ще не документально підтверджена (AFAIK). Він по суті описує те moduleType, в якому зазначено, для якої модульної технології передбачається споживати пакет (див. Вище).
Наразі це не має жодного ефекту, крім встановлення moduleTypeвластивості у bower.jsonфайлі пакету.
Див. Https://github.com/bower/bower/pull/934 для отримання оригінального запиту.
Кілька додаткових моментів, щоб відповісти на коментарі:
moduleTypeвласності - це означає, що людям технічно дозволяється використовувати будь-яку цінність, яку вони хочуть для неї, в тому числі, angularjsякщо вони відчувають схильність до цього.non-interoperable/proprietary moduleTypes(думаю , композитор, кутовий і т.д.) - що легко зрозуміти, але ще раз, ніщо не заважає людям , використовуючиmoduleType значення вони хочутьyui moduleType, тому існують "винятки", якщо вони є частиною узгодженого плануЩо б я зробив, якби створити пакет для не переліченого менеджера пакунків і опублікувати його на шафі?
Я б написав модуль es6 та використовував / виправляв es6-транспілятор для виведення потрібного мені формату пакету. Тоді я б / або:
es6якmoduleTypeВідмова: У мене немає досвіду створення авторських модулів angularjs.
angularjsсамого себе, я можу використовувати globals, так, але прочитати своє оновлення. Сподіваюся, що це допомагає.
Я також bower initвперше використовую .
Параметри повинні посилатися на різні способи модуляції деяких кодів JavaScript:
define, як і вимагає.require.У моєму випадку я написав модуль dode.js dflow, але я використовую Browserify для створення файлу dist / dflow.js, який експортує глобальний var dflow : тому я вибрав глобалі .
Команда, якою я переглядав dflow як глобальний об'єкт вікна, була
browserify -s dflow -e index.js -o dist/dflow.js
Я змінив це, тому що я вважаю за краще використовувати також потрібно всередині браузера, тому зараз я користуюся
browserify -r ./index.js:dflow -o dist/dflow.js
і тому я змінив bower.moduleType на вузол у своєму файлі bower.json .
Основна мотивація полягала в тому, що якщо в назви мого модуля є тире, наприклад, у моєму проектному потоковому перегляді , мені потрібно поставити глобальне ім'я в flowView .
Цей новий підхід має дві інші переваги:
${npm_package_name}змінною та записати один раз скрипт, який я використовую для перегляду.Це ще одна тема, але, дійсно, варто подумати, наскільки корисна остання перевага: дозвольте мені поділитися npm.scripts.browserifyатрибутом, який я використовую в своєму пакеті.json
"browserify": "browserify -r ./index.js:${npm_package_name} -o dist/${npm_package_name}.js"
define(function(require, exports, module) { "use strict"; module.exports = { Collection: require("./collection"), View: require('./view') }; });
Тільки для довідки, це саме те, що визначає бауер щодо типів модулів:
Тип модуля, визначений у
mainфайлі JavaScript. Може бути один або масив з таких рядків:
globals: Модуль JavaScript, який додає до глобального простору імен, використовуючиwindow.namespaceабоthis.namespaceсинтаксисamd: Модуль JavaScript, сумісний з AMD, як і RequireJS , з використаннямdefine()синтаксисуnode: Модуль JavaScript, сумісний з вузлом та CommonJS з використаннямmodule.exportsсинтаксисуes6: Модуль JavaScript, сумісний з модулями ECMAScript 6 , з використаннямexportтаimportсинтаксисомyui: Модуль JavaScript, сумісний з модулями YUI , використовуючиYUI.add()синтаксис
Відповідне посилання: https://github.com/bower/spec/blob/master/json.md#moduletype