1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/qihoo360-spriteJS

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
webpack.config.js 2.4 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
akira-cn Отправлено 16.07.2020 06:37 65b5b14
const webpack = require('webpack');
const EsmWebpackPlugin = require('@purtuga/esm-webpack-plugin');
const path = require('path');
const fs = require('fs');
module.exports = function (env = {}) {
let babelConf;
const babelRC = env.esnext ? './.es6.babelrc' : './.babelrc';
if(fs.existsSync(babelRC)) {
babelConf = JSON.parse(fs.readFileSync(babelRC));
babelConf.babelrc = false;
}
const plugins = [];
if(env.mode === 'development') {
plugins.push(new webpack.HotModuleReplacementPlugin({
multiStep: true,
}));
}
if(env.module) {
plugins.push(new EsmWebpackPlugin());
}
plugins.push(new webpack.DefinePlugin({
__DEV__: env.mode === 'development',
}));
let filename = '[name]';
if(env.esnext) filename += '.es';
if(env.module) filename += 'm';
if(env.mode === 'production') filename += '.min';
filename += '.js';
const entry = {
spritejs: './src/index',
'spritejs.worker': './src/index.worker',
};
plugins.push(new webpack.DefinePlugin({
__SPRITEVER__: `"${require('./package.json').version}"`,
}));
return {
mode: env.mode || 'none',
entry,
output: {
path: path.resolve(__dirname, 'dist'),
filename,
publicPath: '/js/',
library: ['spritejs'],
libraryTarget: env.module ? 'var' : 'umd',
// libraryExport: 'default',
globalObject: 'this',
},
resolve: {
alias: {
'gl-renderer': 'gl-renderer/src',
'@mesh.js/core': '@mesh.js/core/src',
},
},
module: {
rules: [
{
test: /\.js$/,
exclude: /node_modules\/(?!@mesh.js|gl-renderer).*/,
use: {
loader: 'babel-loader',
options: babelConf,
},
},
{
test: /\.(frag|vert|glsl)$/,
use: {
loader: 'raw-loader',
options: {},
},
},
],
/* Advanced module configuration (click to show) */
},
externals: {
},
// Don't follow/bundle these modules, but request them at runtime from the environment
stats: 'errors-only',
// lets you precisely control what bundle information gets displayed
devServer: {
contentBase: path.join(__dirname, env.server || '.'),
compress: true,
port: 9090,
hot: true,
// ...
},
plugins,
// list of additional plugins
/* Advanced configuration (click to show) */
};
};

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/qihoo360-spriteJS.git
git@api.gitlife.ru:oschina-mirror/qihoo360-spriteJS.git
oschina-mirror
qihoo360-spriteJS
qihoo360-spriteJS
master