|
- 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 ),
- })
- ],
- };
|