66 lines
1.6 KiB
JavaScript
66 lines
1.6 KiB
JavaScript
const {resolve} = require('path');
|
|
const CopyPlugin = require('copy-webpack-plugin');
|
|
const webpack =require('webpack');
|
|
const cmd = require('node-cmd');
|
|
|
|
|
|
const {data:versions,err} = cmd.runSync('npm v uni-simple-router versions');
|
|
|
|
if(err){
|
|
console.log('获取线上版本失败,无法继续打包。。。')
|
|
process.exit(1);
|
|
}
|
|
|
|
let lastVersion='';
|
|
const list=JSON.parse(versions.replace(/'/g,'"')).reverse();
|
|
for(let i=0;i<list.length;i++){
|
|
if (!/[A-Za-z]/g.test(list[i])) {
|
|
lastVersion=list[i];
|
|
break;
|
|
}
|
|
}
|
|
|
|
module.exports = {
|
|
entry: './src/index.ts',
|
|
output: {
|
|
library: 'Router',
|
|
libraryTarget: 'umd',
|
|
},
|
|
resolve: {
|
|
extensions: ['.tsx', '.ts', 'd.ts', '.js', '.json'],
|
|
},
|
|
module: {
|
|
rules: [
|
|
{
|
|
test: /\.tsx?$/,
|
|
use: [
|
|
{
|
|
loader: 'ts-loader',
|
|
},
|
|
],
|
|
exclude: /node_modules/,
|
|
},
|
|
],
|
|
},
|
|
plugins: [
|
|
new CopyPlugin([
|
|
{
|
|
force: true,
|
|
from: resolve(__dirname, '../src/component'),
|
|
to: resolve(__dirname, '../dist'),
|
|
}
|
|
]),
|
|
new webpack.DefinePlugin({
|
|
$npm_package_name: webpack.DefinePlugin.runtimeValue(() => {
|
|
return JSON.stringify(process.env.npm_package_name.toLocaleUpperCase())
|
|
}, true ),
|
|
$npm_package_version: webpack.DefinePlugin.runtimeValue(() => {
|
|
return JSON.stringify(process.env.npm_package_version.toLocaleUpperCase())
|
|
}, true ),
|
|
$npm_package_last_version: webpack.DefinePlugin.runtimeValue(() => {
|
|
return JSON.stringify(lastVersion)
|
|
}, true ),
|
|
})
|
|
],
|
|
};
|