4eb68e7fb2
Add initial code of skyline-console Change-Id: Icba2152a014761f53789357b5085d0779cd0e2a4
143 lines
3.7 KiB
JavaScript
143 lines
3.7 KiB
JavaScript
// Copyright 2021 99cloud
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
const webpack = require('webpack');
|
|
const { normalize, resolve } = require('path');
|
|
// const path = require("path");
|
|
// const CleanWebpackPlugin = require('clean-webpack-plugin');
|
|
const HappyPack = require('happypack');
|
|
const os = require('os');
|
|
const moment = require('moment');
|
|
|
|
const root = (path) => resolve(__dirname, `../${path}`);
|
|
const version = moment().unix();
|
|
|
|
module.exports = {
|
|
module: {
|
|
rules: [
|
|
{
|
|
test: /\.jsx?$/,
|
|
include: [root('src'), root('common')],
|
|
use: 'happypack/loader?id=jsx',
|
|
},
|
|
{
|
|
test: /\.jsx?$/,
|
|
include: root('node_modules'),
|
|
use: 'cache-loader',
|
|
},
|
|
{
|
|
test: /\.js$/,
|
|
exclude: /node_modules/,
|
|
use: {
|
|
loader: 'babel-loader',
|
|
},
|
|
},
|
|
{
|
|
test: /\.(png|gif|jpg)$/,
|
|
use: [
|
|
{
|
|
loader: 'url-loader',
|
|
options: {
|
|
limit: 10240,
|
|
name: normalize(`asset/image/[name].${version}.[ext]`),
|
|
},
|
|
},
|
|
],
|
|
exclude: [
|
|
root('src/asset/image/logo.png'),
|
|
root('src/asset/image/loginRightLogo.png'),
|
|
],
|
|
},
|
|
{
|
|
test: /\.(png|gif|jpg)$/,
|
|
use: [
|
|
{
|
|
loader: 'url-loader',
|
|
options: {
|
|
limit: false,
|
|
name: normalize('asset/image/[name].[ext]'),
|
|
},
|
|
},
|
|
],
|
|
include: [
|
|
root('src/asset/image/logo.png'),
|
|
root('src/asset/image/loginRightLogo.png'),
|
|
],
|
|
},
|
|
{
|
|
test: /\.svg$/,
|
|
use: [
|
|
{
|
|
loader: 'url-loader',
|
|
options: {
|
|
limit: false,
|
|
name: normalize('asset/image/[name].[ext]'),
|
|
},
|
|
},
|
|
],
|
|
include: [
|
|
root('src/asset/image/logo-small.svg'),
|
|
root('src/asset/image/logo-extend.svg'),
|
|
],
|
|
},
|
|
{
|
|
test: /\.(woff|woff2|ttf|eot|svg)$/,
|
|
use: [
|
|
{
|
|
loader: 'url-loader',
|
|
options: {
|
|
limit: 10240,
|
|
name: normalize(`asset/image/[name].${version}.[ext]`),
|
|
},
|
|
},
|
|
],
|
|
exclude: [
|
|
root('src/asset/image/logo-small.svg'),
|
|
root('src/asset/image/logo-extend.svg'),
|
|
],
|
|
},
|
|
],
|
|
},
|
|
resolve: {
|
|
extensions: ['.js', '.jsx'],
|
|
modules: [root('src'), root('src/pages'), 'node_modules'],
|
|
alias: {
|
|
'@': root('src'),
|
|
src: root('src'),
|
|
asset: root('src/asset'),
|
|
image: root('src/asset/image'),
|
|
core: root('src/core'),
|
|
containers: root('src/containers'),
|
|
layouts: root('src/layouts'),
|
|
components: root('src/components'),
|
|
pages: root('src/pages'),
|
|
utils: root('src/utils'),
|
|
stores: root('src/stores'),
|
|
locales: root('src/locales'),
|
|
styles: root('src/styles'),
|
|
resources: root('src/resources'),
|
|
},
|
|
},
|
|
plugins: [
|
|
new webpack.IgnorePlugin(/^\.\/locale$/, /moment$/),
|
|
new HappyPack({
|
|
threads: os.cpus().length - 1,
|
|
id: 'jsx',
|
|
loaders: ['babel-loader?cacheDirectory'],
|
|
}),
|
|
],
|
|
};
|
|
|
|
module.exports.version = version;
|