Merge branch 'v2' into upgrade
This commit is contained in:
		
							
								
								
									
										31
									
								
								.vscode/settings.json
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										31
									
								
								.vscode/settings.json
									
									
									
									
										vendored
									
									
								
							@@ -3,8 +3,10 @@
 | 
			
		||||
    "typescript.tsdk": "node_modules\\typescript\\lib",
 | 
			
		||||
    //格式化设置
 | 
			
		||||
    "editor.tabSize": 4,
 | 
			
		||||
    "editor.formatOnPaste": true,
 | 
			
		||||
    "editor.formatOnPaste": false,
 | 
			
		||||
    "editor.formatOnSave": true,
 | 
			
		||||
    "editor.insertSpaces": true,
 | 
			
		||||
    "editor.detectIndentation": false,
 | 
			
		||||
    //格式设置
 | 
			
		||||
    "typescript.format.placeOpenBraceOnNewLineForFunctions": true,
 | 
			
		||||
    "typescript.format.placeOpenBraceOnNewLineForControlBlocks": true,
 | 
			
		||||
@@ -12,5 +14,30 @@
 | 
			
		||||
    "javascript.format.placeOpenBraceOnNewLineForFunctions": true,
 | 
			
		||||
    "javascript.format.enable": true,
 | 
			
		||||
    "files.insertFinalNewline": true,
 | 
			
		||||
    "editor.detectIndentation": true,
 | 
			
		||||
    "typescript.format.semicolons": "insert",
 | 
			
		||||
    "files.trimFinalNewlines": true,
 | 
			
		||||
    "files.trimTrailingWhitespace": true,
 | 
			
		||||
    //保存时
 | 
			
		||||
    "editor.codeActionsOnSave": {
 | 
			
		||||
        "source.organizeImports": true,
 | 
			
		||||
    },
 | 
			
		||||
    "gitlens.remotes": [
 | 
			
		||||
        {
 | 
			
		||||
            "domain": "gitee.com",
 | 
			
		||||
            "type": "Custom",
 | 
			
		||||
            "name": "码云",
 | 
			
		||||
            "protocol": "https",
 | 
			
		||||
            "urls": {
 | 
			
		||||
                "repository": "https://gitee.com/cf-fz/${repoPath}",
 | 
			
		||||
                "branches": "https://gitee.com/cf-fz/${repoPath}/branches",
 | 
			
		||||
                "branch": "https://gitee.com/cf-fz/${repoPath}/commits/${branch}",
 | 
			
		||||
                "commit": "https://gitee.com/cf-fz/${repoPath}/commit/${id}",
 | 
			
		||||
                "file": "https://gitee.com/cf-fz/${repoPath}?path=${file}${line}",
 | 
			
		||||
                "fileInBranch": "https://gitee.com/cf-fz/${repoPath}/blob/${branch}/${file}${line}",
 | 
			
		||||
                "fileInCommit": "https://gitee.com/cf-fz/${repoPath}/blob/${id}/${file}${line}",
 | 
			
		||||
                "fileLine": "#L${line}",
 | 
			
		||||
                "fileRange": "#L${start}-L${end}"
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    ],
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,6 @@
 | 
			
		||||
# 显示板件的控件
 | 
			
		||||
 | 
			
		||||
使用例子请参照项目:[CADViewSample](http://git.cf/cx/CADViewSample)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
删除"@types/webpack-merge" 下的 node_modules/webpack 定义 坑爹导致项目跑不起来
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,4 @@
 | 
			
		||||
import * as HardSourceWebpackPlugin from 'hard-source-webpack-plugin';
 | 
			
		||||
import * as webpack from 'webpack';
 | 
			
		||||
import ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');
 | 
			
		||||
 | 
			
		||||
const TS_LOADER = [
 | 
			
		||||
    { loader: 'cache-loader', options: { cacheDirectory: "node_modules/.cache_loader" } },
 | 
			
		||||
@@ -33,8 +31,6 @@ const config: webpack.Configuration = {
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    plugins: [
 | 
			
		||||
        new HardSourceWebpackPlugin(),
 | 
			
		||||
        new ForkTsCheckerWebpackPlugin({ checkSyntacticErrors: true }),
 | 
			
		||||
    ]
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
import path from 'path';
 | 
			
		||||
import * as webpack from 'webpack';
 | 
			
		||||
import * as merge from 'webpack-merge';
 | 
			
		||||
import merge from 'webpack-merge';
 | 
			
		||||
import common from './webpack.common';
 | 
			
		||||
import * as path from 'path';
 | 
			
		||||
 | 
			
		||||
const config: webpack.Configuration = merge(
 | 
			
		||||
    common,
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
import * as webpack from 'webpack';
 | 
			
		||||
import * as merge from 'webpack-merge';
 | 
			
		||||
import merge from 'webpack-merge';
 | 
			
		||||
import common from './webpack.common';
 | 
			
		||||
import * as HtmlWebPackPlugin from "html-webpack-plugin";
 | 
			
		||||
import HtmlWebPackPlugin from "html-webpack-plugin";
 | 
			
		||||
 | 
			
		||||
const config: webpack.Configuration = merge(
 | 
			
		||||
    common,
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										33
									
								
								package.json
									
									
									
									
									
								
							
							
						
						
									
										33
									
								
								package.json
									
									
									
									
									
								
							@@ -1,6 +1,6 @@
 | 
			
		||||
{
 | 
			
		||||
    "name": "cadview",
 | 
			
		||||
  "version": "1.2.5",
 | 
			
		||||
    "version": "1.1.9",
 | 
			
		||||
    "description": "",
 | 
			
		||||
    "main": "src/index.ts",
 | 
			
		||||
    "private": true,
 | 
			
		||||
@@ -8,7 +8,8 @@
 | 
			
		||||
        "t": "tsc --noEmit -w",
 | 
			
		||||
        "build": "tsc",
 | 
			
		||||
        "umd": "webpack --config ./config/webpack.umd.ts",
 | 
			
		||||
    "dev": "webpack-dev-server --config ./config/webpack.view.ts"
 | 
			
		||||
        "dev": "webpack-dev-server --config ./config/webpack.view.ts",
 | 
			
		||||
        "postinstall": "ts-node ./utils/rmtype.ts"
 | 
			
		||||
    },
 | 
			
		||||
    "repository": {
 | 
			
		||||
        "type": "git",
 | 
			
		||||
@@ -18,29 +19,31 @@
 | 
			
		||||
    "license": "ISC",
 | 
			
		||||
    "devDependencies": {
 | 
			
		||||
        "@types/hard-source-webpack-plugin": "^1.0.1",
 | 
			
		||||
    "@types/node": "^13.13.4",
 | 
			
		||||
        "@types/node": "^13.13.52",
 | 
			
		||||
        "@types/three": "^0.103.2",
 | 
			
		||||
        "@types/uglifyjs-webpack-plugin": "^1.1.0",
 | 
			
		||||
    "@types/webpack": "^4.41.12",
 | 
			
		||||
    "@types/webpack-dev-server": "^3.10.1",
 | 
			
		||||
        "@types/webpack": "^4.41.32",
 | 
			
		||||
        "@types/webpack-dev-server": "^3.11.6",
 | 
			
		||||
        "@types/webpack-env": "^1.15.2",
 | 
			
		||||
        "@types/webpack-merge": "^4.1.5",
 | 
			
		||||
        "awesome-typescript-loader": "^5.2.1",
 | 
			
		||||
        "cache-loader": "^4.1.0",
 | 
			
		||||
    "fork-ts-checker-webpack-plugin": "^4.1.3",
 | 
			
		||||
        "fork-ts-checker-webpack-plugin": "^4.1.6",
 | 
			
		||||
        "hard-source-webpack-plugin": "^0.13.1",
 | 
			
		||||
    "html-webpack-plugin": "^4.2.1",
 | 
			
		||||
    "ts-loader": "^7.0.2",
 | 
			
		||||
    "ts-node": "^8.9.1",
 | 
			
		||||
    "typescript": "^3.8.3",
 | 
			
		||||
        "html-webpack-plugin": "^4.5.2",
 | 
			
		||||
        "ts-loader": "^7.0.5",
 | 
			
		||||
        "ts-node": "^8.10.2",
 | 
			
		||||
        "typescript": "^4.5.5",
 | 
			
		||||
        "uglifyjs-webpack-plugin": "^2.2.0",
 | 
			
		||||
    "webpack": "^4.43.0",
 | 
			
		||||
    "webpack-cli": "^3.3.11",
 | 
			
		||||
    "webpack-dev-server": "^3.10.3",
 | 
			
		||||
        "webpack": "^4.46.0",
 | 
			
		||||
        "webpack-cli": "^3.3.12",
 | 
			
		||||
        "webpack-dev-server": "^3.11.3",
 | 
			
		||||
        "webpack-merge": "^4.2.2"
 | 
			
		||||
    },
 | 
			
		||||
    "dependencies": {
 | 
			
		||||
    "three": "^0.120.1",
 | 
			
		||||
    "wolfy87-eventemitter": "^5.2.9"
 | 
			
		||||
        "@jscad/modeling": "^2.7.1",
 | 
			
		||||
        "flatbush": "^3.3.0",
 | 
			
		||||
        "three": "^0.115.0",
 | 
			
		||||
        "webcad_ue4_api": "http://gitea.cf/cx/webcad-ue4-api/archive/0.2.3.tar.gz"
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -2,21 +2,20 @@
 | 
			
		||||
// import "./style.css";
 | 
			
		||||
import { Color, MeshBasicMaterial, Vector3 } from "three";
 | 
			
		||||
import { CameraControlState } from "../CameraControls";
 | 
			
		||||
import { data } from "../data";
 | 
			
		||||
import { GetBox } from "../GeUtils";
 | 
			
		||||
import { LoadBoard } from "../Utils";
 | 
			
		||||
import { Viewer } from "../Viewer";
 | 
			
		||||
 | 
			
		||||
let btn = document.createElement("button");
 | 
			
		||||
btn.innerHTML = "载入"
 | 
			
		||||
btn.innerHTML = "载入";
 | 
			
		||||
document.body.appendChild(btn);
 | 
			
		||||
 | 
			
		||||
let btn2 = document.createElement("button");
 | 
			
		||||
btn2.innerHTML = "清理"
 | 
			
		||||
btn2.innerHTML = "清理";
 | 
			
		||||
document.body.appendChild(btn2);
 | 
			
		||||
 | 
			
		||||
let btn3 = document.createElement("button");
 | 
			
		||||
btn3.innerHTML = "爆炸图"
 | 
			
		||||
btn3.innerHTML = "爆炸图";
 | 
			
		||||
document.body.appendChild(btn3);
 | 
			
		||||
 | 
			
		||||
let el = document.createElement("canvas");
 | 
			
		||||
@@ -46,15 +45,16 @@ view.m_CameraCtrl.m_TouthTypeList = [CameraControlState.Pan, CameraControlState.
 | 
			
		||||
btn.onclick = () =>
 | 
			
		||||
{
 | 
			
		||||
    console.time();
 | 
			
		||||
    let data = require("./data.json");
 | 
			
		||||
    for (let i = 0; i < 1; i++)
 | 
			
		||||
        LoadBoard(view, data);
 | 
			
		||||
    console.timeEnd();
 | 
			
		||||
}
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
btn2.onclick = () =>
 | 
			
		||||
{
 | 
			
		||||
    // LoadBoard(view, []);
 | 
			
		||||
}
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
btn3.onclick = () =>
 | 
			
		||||
{
 | 
			
		||||
@@ -101,5 +101,5 @@ btn3.onclick = () =>
 | 
			
		||||
 | 
			
		||||
        if (count === 60)
 | 
			
		||||
            clearInterval(t);
 | 
			
		||||
    }, 16)
 | 
			
		||||
}
 | 
			
		||||
    }, 16);
 | 
			
		||||
};
 | 
			
		||||
 
 | 
			
		||||
@@ -1,9 +1,8 @@
 | 
			
		||||
import { CylinderGeometry, Geometry, LineSegments, Mesh, Shape, Vector2, Vector3, Matrix4, ExtrudeGeometry, EdgesGeometry, MeshBasicMaterial } from 'three';
 | 
			
		||||
import { CylinderGeometry, EdgesGeometry, Geometry, LineSegments, Matrix4, Mesh, MeshBasicMaterial, Shape, Vector2, Vector3 } from 'three';
 | 
			
		||||
import { boardUVGenerator2, ExtrudeSolid, Polyline } from 'webcad_ue4_api';
 | 
			
		||||
import { ColorMaterial } from './ColorPalette';
 | 
			
		||||
import { equalv3, polar } from './GeUtils';
 | 
			
		||||
import { polar } from './GeUtils';
 | 
			
		||||
import { edgeMaterial } from './Material';
 | 
			
		||||
import { RotateUVs } from './RotateUV';
 | 
			
		||||
import { ThreeBSP } from './ThreeCSG';
 | 
			
		||||
//解析二维圆弧类.
 | 
			
		||||
export class Arc2d
 | 
			
		||||
{
 | 
			
		||||
@@ -56,7 +55,7 @@ export function createPath(pts: Vector2[], buls: number[], shapeOut?: Shape): Sh
 | 
			
		||||
        let nextPt = pts[i + 1];
 | 
			
		||||
        if (buls[i] == 0)
 | 
			
		||||
        {
 | 
			
		||||
            shape.lineTo(nextPt.x, nextPt.y)
 | 
			
		||||
            shape.lineTo(nextPt.x, nextPt.y);
 | 
			
		||||
        }
 | 
			
		||||
        else
 | 
			
		||||
        {
 | 
			
		||||
@@ -76,8 +75,7 @@ export function getVec(data: object): Vector3
 | 
			
		||||
    return new Vector3(data["x"], data["y"], data["z"]);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//创建板件 暂时这么写
 | 
			
		||||
export function createBoard(boardData: object, material: MeshBasicMaterial)
 | 
			
		||||
function Conver2Ext(boardData: object): ExtrudeSolid
 | 
			
		||||
{
 | 
			
		||||
    let pts: Vector2[] = [];
 | 
			
		||||
    let buls: number[] = [];
 | 
			
		||||
@@ -93,6 +91,7 @@ export function createBoard(boardData: object, material: MeshBasicMaterial)
 | 
			
		||||
    let yD = getVec(boardData["YVec"]);
 | 
			
		||||
    let ZD = getVec(boardData["ZVec"]);
 | 
			
		||||
    let pBase = getVec(boardData["BasePoint"]);
 | 
			
		||||
    pBase.add(ZD.clone().multiplyScalar(-boardHeight));
 | 
			
		||||
 | 
			
		||||
    boardMat.makeBasis(xD, yD, ZD);
 | 
			
		||||
    boardMat.setPosition(pBase);
 | 
			
		||||
@@ -111,7 +110,6 @@ export function createBoard(boardData: object, material: MeshBasicMaterial)
 | 
			
		||||
    {
 | 
			
		||||
        let length = boardData["L"];
 | 
			
		||||
        let width = boardData["W"];
 | 
			
		||||
        let height = boardData["H"];
 | 
			
		||||
        pts.push(new Vector2(0, 0),
 | 
			
		||||
            new Vector2(width, 0),
 | 
			
		||||
            new Vector2(width, length),
 | 
			
		||||
@@ -121,45 +119,42 @@ export function createBoard(boardData: object, material: MeshBasicMaterial)
 | 
			
		||||
        buls.push(0, 0, 0, 0, 0);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    let sp = createPath(pts, buls);
 | 
			
		||||
    let extrudeSettings = {
 | 
			
		||||
        steps: 1,
 | 
			
		||||
        bevelEnabled: false,
 | 
			
		||||
        depth: boardHeight
 | 
			
		||||
    };
 | 
			
		||||
    let ext = new ExtrudeSolid();
 | 
			
		||||
    ext.OCSNoClone.copy(boardMat);
 | 
			
		||||
    let pl = new Polyline(pts.map((p, i) => { return { pt: p, bul: buls[i] }; }));
 | 
			
		||||
    ext.Thickness = boardHeight;
 | 
			
		||||
    ext.ContourCurve = pl;
 | 
			
		||||
 | 
			
		||||
    let ext = new ExtrudeGeometry(sp, extrudeSettings) as Geometry;
 | 
			
		||||
    ext.computeBoundingSphere();
 | 
			
		||||
    ext.computeBoundingBox();
 | 
			
		||||
    ext.translate(0, 0, -boardHeight)
 | 
			
		||||
    ext.applyMatrix4(boardMat);
 | 
			
		||||
 | 
			
		||||
    if (!equalv3(xD.clone().cross(yD), ZD))
 | 
			
		||||
    {
 | 
			
		||||
        for (let f of ext.faces)
 | 
			
		||||
            [f.a, f.c] = [f.c, f.a];
 | 
			
		||||
    if (checkObjectArray(boardData, "SubBoardLocal"))
 | 
			
		||||
        ext.Grooves.push(...boardData["SubBoardLocal"].map(Conver2Ext));
 | 
			
		||||
    return ext;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
    //外边.
 | 
			
		||||
    let edges: (LineSegments | Mesh)[] = [createEdge(ext)];
 | 
			
		||||
//创建板件 暂时这么写
 | 
			
		||||
export function createBoard(boardData: object, boardMaterial: MeshBasicMaterial)
 | 
			
		||||
{
 | 
			
		||||
    let ext = Conver2Ext(boardData);
 | 
			
		||||
    if (boardData["BoardName"] === "地脚线")
 | 
			
		||||
        Object.defineProperty(ext, "UCGenerator",
 | 
			
		||||
            {
 | 
			
		||||
                get: function ()
 | 
			
		||||
                {
 | 
			
		||||
                    return boardUVGenerator2;
 | 
			
		||||
                },
 | 
			
		||||
            });
 | 
			
		||||
 | 
			
		||||
    //差集
 | 
			
		||||
    if (checkObjectArray(boardData, "SubBoardLocal")
 | 
			
		||||
        || checkObjectArray(boardData, "Drillings"))
 | 
			
		||||
    {
 | 
			
		||||
        let thisCsg = new ThreeBSP(ext);
 | 
			
		||||
    //板件被镜像时.
 | 
			
		||||
    // if (!equalv3(xD.clone().cross(yD), ZD))
 | 
			
		||||
    // {
 | 
			
		||||
    //     for (let f of ext.faces)
 | 
			
		||||
    //         [f.a, f.c] = [f.c, f.a];
 | 
			
		||||
    // }
 | 
			
		||||
 | 
			
		||||
        if (boardData["SubBoardLocal"])
 | 
			
		||||
        {
 | 
			
		||||
            let subBoardList = boardData["SubBoardLocal"].map(d => createBoard(d, material));
 | 
			
		||||
            for (let br of subBoardList)
 | 
			
		||||
            {
 | 
			
		||||
                edges.push(...br.edges);
 | 
			
		||||
                let subCsg = new ThreeBSP(br.mesh);
 | 
			
		||||
                thisCsg = thisCsg.subtract(subCsg);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        if (boardData["Drillings"])
 | 
			
		||||
    //边
 | 
			
		||||
    let edges: (LineSegments | Mesh)[] = [new LineSegments(ext.EdgeGeometry, edgeMaterial)];
 | 
			
		||||
    edges[0].applyMatrix4(ext.OCSNoClone);
 | 
			
		||||
 | 
			
		||||
    if (checkObjectArray(boardData, "Drillings"))
 | 
			
		||||
    {
 | 
			
		||||
        let dris = boardData["Drillings"];
 | 
			
		||||
        for (let dri of dris)
 | 
			
		||||
@@ -168,31 +163,22 @@ export function createBoard(boardData: object, material: MeshBasicMaterial)
 | 
			
		||||
            geo.rotateX(Math.PI * 0.5);
 | 
			
		||||
 | 
			
		||||
            if (dri.f === 0) //0正
 | 
			
		||||
                    geo.translate(dri.x, dri.y, -dri.h * 0.5);
 | 
			
		||||
                geo.translate(dri.x, dri.y, -dri.h * 0.5 + boardData["H"]);
 | 
			
		||||
            else             //1反
 | 
			
		||||
                    geo.translate(dri.x, dri.y, dri.h * 0.5 - boardData["H"]);
 | 
			
		||||
                geo.translate(dri.x, dri.y, dri.h * 0.5);
 | 
			
		||||
 | 
			
		||||
                geo.applyMatrix4(boardMat);
 | 
			
		||||
            geo.applyMatrix4(ext.OCSNoClone);
 | 
			
		||||
 | 
			
		||||
            let mesh = new Mesh(geo, ColorMaterial.GetBasicMaterial(1));
 | 
			
		||||
            edges.push(mesh);
 | 
			
		||||
                // let edge = createEdge(geo);
 | 
			
		||||
                // edge.material = new LineBasicMaterial({ color: new Color(1, 0, 0) });
 | 
			
		||||
                // edges.push(edge);
 | 
			
		||||
 | 
			
		||||
                // let subCsg = new ThreeBSP(geo);
 | 
			
		||||
                // thisCsg = thisCsg.subtract(subCsg);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
        ext = thisCsg.toGeometry();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (boardData["BoardName"] === "地脚线")
 | 
			
		||||
        RotateUVs(ext);
 | 
			
		||||
 | 
			
		||||
    let mesh = new Mesh(ext, material);
 | 
			
		||||
    mesh.userData = ZD;
 | 
			
		||||
    edges.forEach(e => e.userData = ZD);
 | 
			
		||||
    let mesh = new Mesh(ext.MeshGeometry, boardMaterial);
 | 
			
		||||
    mesh.userData = ext.Normal;
 | 
			
		||||
    edges.forEach(e => e.userData = ext.Normal);
 | 
			
		||||
    mesh.applyMatrix4(ext.OCSNoClone);
 | 
			
		||||
    mesh.updateWorldMatrix(false, true);
 | 
			
		||||
    return { mesh, edges };
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,10 +1,13 @@
 | 
			
		||||
{
 | 
			
		||||
    "compileOnSave": true,
 | 
			
		||||
    "compilerOptions": {
 | 
			
		||||
        "sourceMap": true,
 | 
			
		||||
        "declaration": true,
 | 
			
		||||
        "outDir": "./dist",
 | 
			
		||||
        "target": "esnext",
 | 
			
		||||
        "sourceMap": true,
 | 
			
		||||
        "module": "commonjs",
 | 
			
		||||
        "target": "es2020",
 | 
			
		||||
        "noLib": false,
 | 
			
		||||
        "moduleResolution": "node",
 | 
			
		||||
        "skipLibCheck": true,
 | 
			
		||||
        "esModuleInterop": true,
 | 
			
		||||
        "lib": [
 | 
			
		||||
            "esnext",
 | 
			
		||||
            "dom"
 | 
			
		||||
@@ -12,13 +15,13 @@
 | 
			
		||||
        "types": [
 | 
			
		||||
            "node",
 | 
			
		||||
            "webpack-env",
 | 
			
		||||
            "webpack-dev-server"
 | 
			
		||||
            "webpack-dev-server",
 | 
			
		||||
        ],
 | 
			
		||||
        "module": "commonjs",
 | 
			
		||||
        "jsx": "react",
 | 
			
		||||
        "experimentalDecorators": true
 | 
			
		||||
    },
 | 
			
		||||
    "include": [
 | 
			
		||||
        "./src/**/*",
 | 
			
		||||
        // "./config/**/*"
 | 
			
		||||
        "./config/**/*"
 | 
			
		||||
    ]
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										7
									
								
								utils/rmtype.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								utils/rmtype.ts
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,7 @@
 | 
			
		||||
import fs from "fs";
 | 
			
		||||
 | 
			
		||||
fs.rmdir(".\\node_modules\\@types\\webpack-merge\\node_modules\\webpack", { recursive: true }, (err) =>
 | 
			
		||||
{
 | 
			
		||||
    console.log("删除webpack目录");
 | 
			
		||||
    if (err) console.log(err);
 | 
			
		||||
});
 | 
			
		||||
		Reference in New Issue
	
	Block a user