Vue.js от Browserify до Webpack

Наш текущий процесс сборки в настоящее время использует Grunt, vueify и browserify для создания наших однофайловых компонентов, а также вытаскивает Vue из SFC в свой собственный внешний файл.

По разным причинам (vueify больше не поддерживается, компоненты асинхронной загрузки, ...) мы хотим перейти на Webpack.

Однако я не могу понять, как заставить наш текущий метод работать с Webpack. Я включил наш текущий процесс сборки ниже. Я хотел бы понять, как заставить Webpack работать на нас. Какие-либо предложения? Кажется, я даже не могу начать ... Как я могу заставить Webpack скомпилировать наши файлы * .vue.js в предварительно обработанные файлы javascript? Внизу я также включил содержимое одного из наших файлов SFC .vue.js.

vueRuntime: {
    expand: true,
    cwd: 'node_modules/vue/dist/',
    src: 'vue.runtime.min.js',
    dest: 'js/rwd/libs',
    ext: '.js',
    extDot: 'first',
    options: {
        configure: b => b
            .require('vue')
            .transform(
                // Required in order to process node_modules files
                {global: true},
                envify({NODE_ENV: 'production'})
            )
            .bundle(),
        browserifyOptions: {
            debug: false
        }
    }
},
vue: {
    expand: true,
    cwd: 'js/rwd/',
    src: '**/*.vue.js',
    dest: 'js/rwd',
    ext: '.js',
    extDot: 'first',
    options: {
        configure: b => b
            .transform('vueify')
            .transform(
                // Required in order to process node_modules files
                {
                    global: true
                },
                envify({NODE_ENV: 'production'})
            )
            .external('vue')
            .bundle(),
        browserifyOptions: {
            debug: false
        }
    }
}

Пример файла * .vue.js:

const Vue = require('vue');
const App = require('./something/components/Something.vue');

new Vue(App).$mount('#app-element-id');

person marcusds    schedule 25.02.2019    source источник
comment
Для вашей проблемы изучение шаблонов - хорошее начало github.com/vuejs-templates. Хотя все они есть в webpack 3, но необходимые пакеты должны быть похожи.   -  person blaz    schedule 25.02.2019
comment
@blaz Да, я неплохо разбираюсь в этом. Кажется, мне достаточно написать вопрос по SO, чтобы начать двигаться вперед.   -  person marcusds    schedule 25.02.2019
comment
Решение придумал, когда будет минутка, напишу ответ со ссылками на источники.   -  person marcusds    schedule 27.02.2019


Ответы (1)


Сделав недавно аналогичный переход на Vue + Webpack, я нашел этот пост в блоге чрезвычайно полезным: https://itnext.io/vue-js-and-webpack-4-from-scratch-part-3-3f68d2a3c127

Еще один источник примеров - vue-cli. К сожалению, созданный шаблон чрезвычайно сложно расшифровать, потому что он требует тонны узловых модулей, каждый из которых вносит незначительный вклад в конфигурацию, а также зависит от других модулей. Так что, если вы хотите создать что-то индивидуальное или действительно узнать, как все это работает вместе, это больше проблем, чем пользы.

person bernie    schedule 25.02.2019