Конфигурация webpack 4 для пакета SSR npm - PullRequest
0 голосов
/ 13 февраля 2019

Я использую vue-cli lib mode + webpack для создания пакета NPM.Я стремлюсь создать плагин vue.js для SSR и использования Клиента.Приложение экспортирует 4 пакета следующим образом

myPackage.common.js
myPackage.umd.jd
myPackage-ssr.common.js
myPackage-ssr.umd.js

Если я не включу хотя бы обычный + ssr, плагин не будет работать должным образом.Либо работают только на стороне сервера или на стороне клиента.Когда я добавляю оба файла, это работает для обоих сценариев.Я не уверен, почему мне нужно 2 файла.

Я планирую иметь только один файл для SSR и клиента со встроенным CSS.

Моя конфигурация веб-пакета здесь

module.exports = {
    css: {
        extract: false,
    },
    configureWebpack: {
        target: TARGET_NODE ? 'node' : 'web',
        node: TARGET_NODE ? undefined : false,
        output: {
            library: 'myPackage',
            libraryExport: 'default',
            libraryTarget: TARGET_NODE ? 'umd' : undefined,
        },
    },
    chainWebpack: (config) => {
        config.module
        .rule('vue')
        .use('vue-loader')
        .tap(options => Object.assign(options, { optimizeSSR: false }));
    },
};

и мой скрипт package.json

"build": "npm run build:server -- --silent && npm run build:client -- --no-clean --silent",
"build:client": "vue-cli-service build --target lib --name myPackage ./src/components/index.js",
"build:server": "cross-env WEBPACK_TARGET=node vue-cli-service build --target lib --name myPackage-ssr ./src/components/index.js",

Что мне не хватает?Приветствия

...