Я использую этот шаблон: https://github.com/vuejs-templates/webpack.
В уже созданном webpack.base.conf это часть экспортированного объекта конфигурации (я включаю более, чем уместно, чтобы дать контекст):
module.exports = {
context: path.resolve(__dirname, '../'),
entry: {
app: './src/main.js',
},
plugins: [
// make jquery available for all modules
new webpack.ProvidePlugin({
$: 'jquery',
jQuery: 'jquery',
})
],
output: {
path: config.build.assetsRoot,
filename: '[name].js',
publicPath: process.env.NODE_ENV === 'production'
? config.build.assetsPublicPath
: config.dev.assetsPublicPath
},
resolve: {
extensions: ['.js', '.vue', '.json'],
alias: {
'vue$': 'vue/dist/vue.esm.js',
'@': resolve('src'),
}
},
Это часть, которая может вам помочь:
resolve: {
extensions: ['.js', '.vue', '.json'],
alias: {
'vue$': 'vue/dist/vue.esm.js',
'@': resolve('src'),
}
},
Теперь при импорте я просто пишу что-то вроде
import myModule from '@/fileInSrcFolder';
где @ - папка src внутри корневой папки.
Просто для завершения, файл конфигурации находится в папке в корневой папке, а функция разрешения выглядит следующим образом:
function resolve (dir) {
return path.join(__dirname, '..', dir)
}