Почему моя библиотека узлов не импортируется должным образом? - PullRequest
0 голосов
/ 15 апреля 2020

Я взял этот проект https://github.com/conversejs/converse.js и создал альтернативную конфигурацию wepack, которая создает из нее библиотеку, чтобы я мог использовать ее в своем проекте node (nuxt. js). Конфигурация выглядит следующим образом:

const merge = require("webpack-merge");
const prod = require("./webpack.prod.js");
const MiniCssExtractPlugin = require('mini-css-extract-plugin');

module.exports = merge(prod, {
    target: 'node',
    output: {
        filename: 'my-converse.js',
        library: 'ppdConverse',
    },
    optimization: {
        minimize: true,
    },
    devtool: 'source-map',
    plugins: [
        new MiniCssExtractPlugin({filename: '../dist/converse.css'}),
    ],
});

Я также немного изменил package.json в соответствии с Руководством по веб-пакету :

{
  "name": "converse.js",
  "version": "7.0.0",
  "description": "Browser based XMPP chat client",
  "module": "./src/converse.js",
  "main": "./dist/my-converse.js",
  ...
}

Затем я запускаю webpack --config webpack.node.js и он создает dist/ dir с некоторыми файлами в нем без ошибок.

Проблема в том, что я не могу использовать его, когда импортирую его в проект моего другого узла (nuxt. js). Я устанавливаю его с помощью следующей команды:

npm i --save ~/my-projects/lib/converse.js

И я пытаюсь импортировать его так:

import 'converse.js'

Но когда я запускаю свой проект, он терпит неудачу с кучей ошибок о отсутствующие загрузчики и отсутствующие зависимости (хвост вывода):

 WARN  in ../lib/converse.js/locale/nb/LC_MESSAGES/converse.po                               friendly-errors 09:39:21

Module parse failed: Unexpected token (1:6)                                                  friendly-errors 09:39:21
You may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders
> msgid ""
| msgstr ""
| "Project-Id-Version: Converse JS 0.8.6\n"
                                                                                             friendly-errors 09:39:21
 @ ../lib/converse.js/locale lazy ^\.\/.*\/LC_MESSAGES\/converse\.po$ namespace object
 @ ../lib/converse.js/src/headless/i18n.js
 @ ../lib/converse.js/src/headless/converse-core.js
 @ ../lib/converse.js/src/converse.js
 @ ./plugins/converse-nuxt.js
 @ ./.nuxt/index.js
 @ ./.nuxt/client.js
 @ multi eventsource-polyfill webpack-hot-middleware/client?reload=true&timeout=30000&ansiColors=&overlayStyles=&name=client&path=/__webpack_hmr/client ./.nuxt/client.js
                                                                                             friendly-errors 09:39:21

 ERROR  Failed to compile with 21 errors                                                     friendly-errors 09:39:21

These dependencies were not found:                                                           friendly-errors 09:39:21
                                                                                             friendly-errors 09:39:21
* converse-autocomplete in ../lib/converse.js/src/converse.js                                friendly-errors 09:39:21
* converse-bookmark-views in ../lib/converse.js/src/converse.js                              friendly-errors 09:39:21
* converse-chatview in ../lib/converse.js/src/converse.js                                    friendly-errors 09:39:21
* converse-controlbox in ../lib/converse.js/src/converse.js                                  friendly-errors 09:39:21
* converse-dragresize in ../lib/converse.js/src/converse.js                                  friendly-errors 09:39:21
* converse-emoji-views in ../lib/converse.js/src/converse.js                                 friendly-errors 09:39:21
* converse-fullscreen in ../lib/converse.js/src/converse.js                                  friendly-errors 09:39:21
* converse-headlines-view in ../lib/converse.js/src/converse.js                              friendly-errors 09:39:21
* converse-mam-views in ../lib/converse.js/src/converse.js                                   friendly-errors 09:39:21
* converse-minimize in ../lib/converse.js/src/converse.js                                    friendly-errors 09:39:21
* converse-muc-views in ../lib/converse.js/src/converse.js                                   friendly-errors 09:39:21
* converse-notification in ../lib/converse.js/src/converse.js                                friendly-errors 09:39:21
* converse-omemo in ../lib/converse.js/src/converse.js                                       friendly-errors 09:39:21
* converse-profile in ../lib/converse.js/src/converse.js                                     friendly-errors 09:39:21
* converse-push in ../lib/converse.js/src/converse.js                                        friendly-errors 09:39:21
* converse-register in ../lib/converse.js/src/converse.js                                    friendly-errors 09:39:21
* converse-roomslist in ../lib/converse.js/src/converse.js                                   friendly-errors 09:39:21
* converse-rosterview in ../lib/converse.js/src/converse.js                                  friendly-errors 09:39:21
* converse-singleton in ../lib/converse.js/src/converse.js                                   friendly-errors 09:39:21
* converse-uniview in ../lib/converse.js/src/converse.js                                     friendly-errors 09:39:21
                                                                                             friendly-errors 09:39:21
To install them, you can run: npm install --save converse-autocomplete converse-bookmark-views converse-chatview converse-controlbox converse-dragresize converse-emoji-views converse-fullscreen converse-headlines-view converse-mam-views converse-minimize converse-muc-views converse-notification converse-omemo converse-profile converse-push converse-register converse-roomslist converse-rosterview converse-singleton converse-uniview
                                                                                             friendly-errors 09:39:21
 (repeated 0 times)                                                                          friendly-errors 09:39:21
This relative module was not found:                                                          friendly-errors 09:39:21
                                                                                             friendly-errors 09:39:21
* ../sass/converse.scss in ../lib/converse.js/src/converse.js                                friendly-errors 09:39:21

Несмотря на наличие файлов!

Единственный способ, которым он работает, - импортировать файлы, созданные в папке dist:

import 'converse.js/dist/my-converse.js'

Так что я тут не так делаю?

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