cosmicpi-rpi_V1.5/cosmicpi/ui/webpack.config.js
2018-06-24 13:02:12 +02:00

86 lines
No EOL
2 KiB
JavaScript

const path = require('path')
const webpack = require('webpack')
const DEFAULT_API_URL = (process.env.NODE_ENV === 'production') ?
'/api/' : 'http://192.168.1.26:5000/api/';
const API_URL = (process.env.API_URL === undefined) ?
DEFAULT_API_URL : process.env.API_URL;
module.exports = {
entry: [ 'babel-polyfill', './src/main.js'],
output: {
path: path.resolve(__dirname, './dist'),
publicPath: '/dist/',
filename: 'build.js'
},
module: {
rules: [{
test: /\.vue$/,
loader: 'vue-loader'
},
{
test: /\.js$/,
loader: 'babel-loader',
exclude: /node_modules/
},
{
test: /\.(png|jpg|svg)$/,
loader: 'file-loader',
options: {
name: '[name].[ext]?[hash]'
}
},
{
test: /\.gif$/,
loader: 'file-loader',
options: {
name: '[name].[ext]'
}
},
{
test: /\.css$/,
loader: 'style-loader!css-loader'
},
{
test: /\.woff(\?v=\d+\.\d+\.\d+)?$/,
loader: "url-loader?limit=10000&mimetype=application/font-woff"
}, {
test: /\.woff2(\?v=\d+\.\d+\.\d+)?$/,
loader: "url-loader?limit=10000&mimetype=application/font-woff"
}, {
test: /\.ttf(\?v=\d+\.\d+\.\d+)?$/,
loader: "url-loader?limit=10000&mimetype=application/octet-stream"
}, {
test: /\.eot(\?v=\d+\.\d+\.\d+)?$/,
loader: "file-loader"
}, {
test: /\.svg(\?v=\d+\.\d+\.\d+)?$/,
loader: "url-loader?limit=10000&mimetype=image/svg+xml"
}
]
},
resolve: {
alias: {
'vue$': 'vue/dist/vue.esm.js'
}
},
devServer: {
historyApiFallback: true,
noInfo: true
},
performance: {
hints: false
},
devtool: '#eval-source-map',
plugins: [
new webpack.DefinePlugin({
'API_URL': JSON.stringify(API_URL),
})
]
}
if (process.env.NODE_ENV === 'production') {
module.exports.devtool = '#source-map';
}