cosmicpi-rpi_V1.5/cosmicpi/ui/webpack.config.js

86 lines
2 KiB
JavaScript
Raw Normal View History

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;
2018-03-20 23:22:10 +00:00
module.exports = {
2018-06-24 11:02:12 +00:00
entry: [ 'babel-polyfill', './src/main.js'],
2018-03-20 23:22:10 +00:00
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/
},
{
2018-03-24 17:18:05 +00:00
test: /\.(png|jpg|svg)$/,
2018-03-20 23:22:10 +00:00
loader: 'file-loader',
options: {
name: '[name].[ext]?[hash]'
}
},
2018-03-24 17:18:05 +00:00
{
test: /\.gif$/,
loader: 'file-loader',
options: {
name: '[name].[ext]'
}
},
2018-03-20 23:22:10 +00:00
{
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
},
2018-03-24 23:27:19 +00:00
devtool: '#eval-source-map',
plugins: [
new webpack.DefinePlugin({
'API_URL': JSON.stringify(API_URL),
2018-03-24 23:27:19 +00:00
})
]
2018-03-20 23:22:10 +00:00
}
if (process.env.NODE_ENV === 'production') {
2018-03-24 23:27:19 +00:00
module.exports.devtool = '#source-map';
2018-03-20 23:22:10 +00:00
}