@fdt/dev-base
Version:
81 lines (62 loc) • 1.88 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
function _react() {
const data = _interopRequireDefault(require("react"));
_react = function _react() {
return data;
};
return data;
}
function _cleanWebpackPlugin() {
const data = require("clean-webpack-plugin");
_cleanWebpackPlugin = function _cleanWebpackPlugin() {
return data;
};
return data;
}
function _copyWebpackPlugin() {
const data = _interopRequireDefault(require("copy-webpack-plugin"));
_copyWebpackPlugin = function _copyWebpackPlugin() {
return data;
};
return data;
}
var _webpack = _interopRequireDefault(require("./webpack.base"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**
*
* 正式环境webpack的特殊配置
* 因为是直接提供给webpack进行使用的配置
* 所以不属于webpack的配置不能直接出现在实例上
* 例如: cwd
*/
class WebpackProdConfig extends _webpack.default {
constructor(params) {
super(params);
WebpackProdConfig.cwd = params.cwd;
WebpackProdConfig.outputPath = this.output.path;
this.mode = 'production';
WebpackProdConfig.setPlugins(this.plugins);
} // 程序运行时所在目录路径
// 配置webpack的plugins
static setPlugins(plugins) {
const cwd = WebpackProdConfig.cwd; // 清除output 对应的文件及文件夹
plugins.push(new (_cleanWebpackPlugin().CleanWebpackPlugin)()); // 拷贝静态文件
plugins.push(new (_copyWebpackPlugin().default)({
patterns: [{
from: cwd + '/public/**/*',
to: WebpackProdConfig.outputPath
}],
options: {
concurrency: 100
}
}));
}
}
WebpackProdConfig.cwd = '';
WebpackProdConfig.outputPath = '';
var _default = WebpackProdConfig;
exports.default = _default;