Как настроить create-реагировать-kotlin-app, чтобы заставить kotlinx.serialization работать - PullRequest
0 голосов
/ 03 декабря 2018

Я пытался заставить библиотеку kotlinx.serialization работать с Kotlin / JS, используя create-реагировать-kotlin-приложение

Однако я не очень знаком с огромным беспорядком nodeJS и webpack.Я сделал следующее:

1) Загрузил библиотеку kotlinx.serialization из репозитория maven и поместил ее в стороне от зависимостей nodeJS, потому что пока нет никакого модуля npm для этого.

2)Модифицировал node_modules/@jetbrains/kotlin-webpack-plugin/plugin.js, чтобы скомпилировать мою библиотеку, в частности, я добавил эту строку в функцию prepareLibraries:

opts.libraries.push(opts.packagesContents[0]["_where"]+"/lib/kotlinx-serialization-runtime-js/build/classes/main/kotlinx-serialization-runtime-js.js")

3) Изменена последняя строка в node_modules / kotlin-compiler / bin / kotlinc , чтобы включить плагин компилятора сериализации:

${JAVACMD:=java}" $JAVA_OPTS "${java_args[@]}" -cp "${kotlin_app[@]}" "${kotlin_args[@]}" -Xplugin=$KOTLIN_HOME/lib/kotlinx-serialization-compiler-plugin.jar

Дело в том, что при запуске сервера devиспользуя npm start, он компилируется и запускается, как и ожидалось, но когда я запускаю npm run build, я получаю следующую ошибку:

Создание оптимизированной производственной сборки ...

Не удалосьcompile.

предупреждение: флаг не поддерживается этой версией компилятора: - Xplugin = / home / Project / archetype-frontend-kotlin / node_modules / kotlin-compiler / lib / kotlinx-serialization-compiler-plugin.jar

npm ERR!код ELIFECYCLE

И, конечно, когда я удаляю аргумент -Xplugin, приложение выдает следующие исключения:

Не удается найти сериализатор без аргументов для класса Pu… H в качестве списков, пожалуйста, предоставьте сериализатор явно.

(Существует проблема с GH, связанная с этим https://github.com/Kotlin/kotlinx.serialization/issues/278)

Спасибо за любую помощь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...