Привет, подумал, что я отвечу на свой пост, так как я продвинулся немного дальше.
Если вы хотите, чтобы npm распознал Януса как модуль, этот фрагмент документации имеет основы:
https://janus.conf.meetecho.com/docs/js-modules.html
Скорее всего, вам потребуется изменить точку входа проекта janus-gateway npm, чтобы импортировать необходимые зависимости, прежде чем накопительный пакет npm свернет модуль.
Затем вам придется изменитьКонфигурация свертки для включения зависимостей в модуль или поиска их в проекте, в который импортируется модуль. Хорошую отправную точку для того, как сделать это с помощью свертки, можно найти здесь:
https://engineering.mixmax.com/blog/rollup-externals
мой module.js из проекта janus-gateway / npm
/* eslint-disable */
/*
* Module shim for rollup.js to work with.
* Simply re-export Janus from janus.js, the real 'magic' is in the rollup config.
*
* Since this counts as 'autogenerated' code, ESLint is instructed to ignore the contents of this file when linting your project.
*/
//var adapter = require('webrtc-adapter');
import adapter from 'webrtc-adapter';
@JANUS_CODE@
export default Janus;
И rollup.config.js
import resolve from 'rollup-plugin-node-resolve';
import commonJS from 'rollup-plugin-commonjs';
import replace from 'rollup-plugin-replace';
import * as fs from 'fs';
export default {
name: 'Janus',
input: 'module.js',
output: {
strict: false
},
plugins: [
resolve(),
commonJS({
// namedExports: {
//
// }
include: 'node_modules/**'
}),
replace({
JANUS_CODE: fs.readFileSync('../html/janus.js', 'utf-8'),
delimiters: ['@','@'],
includes: 'module.js'
})
]
};
Не получилдля реализации любого пользовательского интерфейса с Janus с помощью этого метода, но у меня по крайней мере есть API для инициализации с зависимостями по умолчанию, и он может создавать / уничтожать сеансы и подключать плагины к упомянутым сеансам.
Надеюсь, это поможет:)