UNPKG

leo-vue

Version:

Use the Leo Outlining Editor to Create Vue Web Apps

88 lines (85 loc) 2 kB
var path = require('path') var utils = require('./utils') var config = require('../config') var vueLoaderConfig = require('./vue-loader.conf') const GoogleFontsPlugin = require("google-fonts-webpack-plugin") function resolve (dir) { return path.join(__dirname, '..', dir) } module.exports = { entry: { app: './src/main.js' }, 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'), } }, /* plugins: [ new GoogleFontsPlugin({ fonts: [ { family: "Nunito" }, { family: "Nunito Sans" } ] /!* ...options *!/ }) ],*/ module: { rules: [ { test: /\.(js|vue)$/, loader: 'eslint-loader', enforce: "pre", include: [resolve('src'), resolve('test')], options: { formatter: require('eslint-friendly-formatter') } }, { test: /\.vue$/, loader: 'vue-loader', options: vueLoaderConfig }, { test: /\.js$/, exclude: /defiant/, loader: 'babel-loader', include: [ resolve('src'), resolve('test'), resolve('node_modules/vue-awesome'), resolve('node_modules/bootstrap-vue') ] }, { test: /\.(png|jpe?g|gif|svg)(\?.*)?$/, loader: 'url-loader', query: { limit: 10000, name: utils.assetsPath('img/[name].[hash:7].[ext]') } }, { test: /\.css$/, loader: 'style-loader' }, { test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/, loader: 'url-loader', query: { limit: 10000, name: utils.assetsPath('fonts/[name].[hash:7].[ext]') } } ] } }