Если вы не заинтересованы настраивать вручную webpack, тогда мы рекомендуем вам разворачивать проекты с помощью Vue CLI. Проекты создаваемые с помощью Vue CLI предварительно сконфигурированы с учётом большинства общих потребностей при разработке из коробки.
Следуйте этому руководству, если встроенная конфигурация Vue CLI не подходит для ваших нужд, или вы предпочитаете создавать собственную конфигурацию webpack с нуля.
Конфигурация Vue Loader немного отличается от настройки других загрузчиков. В дополнении к правилу, которое будет применять vue-loader
ко всем файлам с расширением .vue
, убедитесь что добавили плагин Vue Loader в вашу конфигурацию webpack:
// webpack.config.js
const VueLoaderPlugin = require('vue-loader/lib/plugin')
module.exports = {
module: {
rules: [
// ... другие правила
{
test: /\.vue$/,
loader: 'vue-loader'
}
]
},
plugins: [
// убедитесь что подключили плагин!
new VueLoaderPlugin()
]
}
Плагин необходим! Он отвечает за клонирование любых других правил, которые вы определили, чтобы применить их к соответствующим языковым блокам в файлах .vue
. Например, если у вас есть правило, соответствующее файлам /\.js$/
, оно будет применяться к секциям <script>
в файлах .vue
.
Более полная версия конфигурации webpack будет выглядеть так:
// webpack.config.js
const VueLoaderPlugin = require('vue-loader/lib/plugin')
module.exports = {
mode: 'development',
module: {
rules: [
{
test: /\.vue$/,
loader: 'vue-loader'
},
// это будет применяться к файлам `.js`
// А ТАКЖЕ к секциям `<script>` внутри файлов `.vue`
{
test: /\.js$/,
loader: 'babel-loader'
},
// это будет применяться к файлам `.css`
// А ТАКЖЕ к секциям `<style>` внутри файлов `.vue`
{
test: /\.css$/,
use: [
'vue-style-loader',
'css-loader'
]
}
]
},
plugins: [
// убедитесь что подключили плагин!
new VueLoaderPlugin()
]
}
Также смотрите перечень настроек, где перечислены все доступные опции загрузчика.