Наш текущий процесс сборки в настоящее время использует 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');