如何防止 npm run build 删除构建中的目录

Jar*_*ber 5 npm reactjs webpack

我有一个 SPA React 应用程序来托管我的个人项目。布局是用 React 创建的,但每个个人项目都是一个包含普通index.html.js、 和.css文件的目录。

我不知道如何成功地使用<Link>来渲染点击时的常规.html页面,所以我现在采取简单的路线:手动将每个目录移动到build,然后使用 链接到它<a href=""></a>

这可行,但每次我重新运行时,npm run build它都会删除我的所有项目目录。我怎样才能防止这种行为?(我使用的create-react-app是默认值)。

tl;dr:如何告诉npm run build不要删除build.

Fyo*_*dor 9

每次构建时都应清理构建文件夹。这是最佳实践,因此您的项目可以由不同的开发人员构建,并且只有源代码。

要完成您的任务,您应该使用额外的 npm 脚本,该脚本将在构建后自动运行。(您可以在此处看到可以运行脚本的所有可能阶段)

postbuild 脚本应该将其他文件从src文件夹下的某个路径复制到build文件夹。因此,在每个构建中,您都将拥有所有必需的文件

例子

"scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject",
    "postbuild": "copy .\\src\\app.js .\\build\\app.js"
}, 
Run Code Online (Sandbox Code Playgroud)

app.js最后一行将从一个文件夹复制srcbuild另一个文件夹。您可以使用相同的方式创建脚本来在每次构建后重新创建所有必需的目录。