为了重构客户端项目,我正在寻找一种安全的方法来查找(和删除)未使用的代码。
您使用什么工具在大型React项目中查找未使用/无效的代码?我们的产品已经开发了几年,并且很难手动检测不再使用的代码。但是,我们确实尝试删除尽可能多的未使用的代码。
对于一般策略/技术(除特定工具之外)的建议也将受到赞赏。
谢谢
我必须从头开始构建一个前端项目。
这个项目雄心勃勃,将持续很长时间。在最初几周的开发中,我的主要目标是在良好的基础上开始。
因此,我想知道 create-react-app 是否是一个不错的选择,因为它很容易开始,而且这个工具箱针对生产进行了优化。
但是,如果我使用此解决方案,我的项目将如何模块化?
有人知道使用 CRA 的项目是否会出现一些缺点吗?
我主要担心的是打包程序。
如果项目越来越大,我是否需要优化CRA的webpack config?
用我自己的捆绑器配置从头开始创建我的项目不是更好吗?
我正在设置一个节点/打字稿服务器来构建实时应用程序。我的服务器和客户端位于同一个文件夹中。
我想要做的是,当我运行“server:dev”脚本时,从打字稿编译器中排除“src/client”,当我运行“client:dev”时,结束排除“src/server”。
我已经尝试找到一种从命令行中排除文件的方法,但我没有找到解决方案。
这就是我的 tsconfig.json 的样子
{
"compilerOptions": {
"target": "es6",
"module": "commonjs",
"lib": ["dom","es2017"],
"sourceMap": true,
"outDir": "dist",
"strict": true,
"noImplicitAny": true,
"moduleResolution": "node",
"esModuleInterop": true,
"resolveJsonModule": true
},
"exclude": [
"src/client"
]
}
Run Code Online (Sandbox Code Playgroud)
但当我运行客户端时,我需要包含“src/client”并排除“src/server”。
我是后端开发的新手,我面临一个我不明白的问题。
我设置了 API 的第一个路由,名为“health”,它只返回一条简单的消息来了解我的服务器是否已启动。
这条路线看起来按预期工作。
然而,
当我尝试使用 jest API 中的“toMatchSnapshot”方法测试此路由时,测试未通过,因为 url 中的内容不断变化。
我的测试文件“index.test.ts”:
const request = supertest.agent(app);
describe("app", () => {
it("should return a successful response for GET /health", async () => {
const res = await request.get("/health");
res.header = omit(res.header, ["date"]);
expect(res).toMatchSnapshot();
});
});
Run Code Online (Sandbox Code Playgroud)
服务器“index.ts”的索引:
const app = express();
expressService(app);
if (require.main === module) {
app.listen(PORT, () => {
console.log("server started at http://localhost:" + PORT);
});
}
export default app;
Run Code Online (Sandbox Code Playgroud)
我的功能“expressService”:
const expressService = (app: Application) => {
app.use(cors()); …Run Code Online (Sandbox Code Playgroud) reactjs ×3
javascript ×2
node.js ×2
typescript ×2
dead-code ×1
jestjs ×1
production ×1
refactoring ×1
supertest ×1
webpack ×1