[英]How to strip testing code when React JS is minified by for production?
在我的 React 功能組件中,我使用useEffect
進行一些調試日志記錄,但我只希望在非--production
構建中運行時使用它。
// something like
if (process.env.NODE_ENV !== 'production') {
// I want the contents of this block removed on production builds, but it is inside a function
useEffect(() => {
console.log("authState changed", AuthStates[authState]);
}, [authState]);
useEffect(() => {
console.log("authToken changed", authToken);
if (tokenExpiresOn) {
console.log(
`token expires in ${(tokenExpiresOn - Date.now()).toLocaleString()}ms`
);
}
}, [authToken]);
useEffect(() => {
if (tokenExpiresOn) {
console.log(
`token expires in ${(tokenExpiresOn - Date.now()).toLocaleString()}ms`
);
} else {
console.log("tokenExpiresOn cleared");
}
}, [tokenExpiresOn]);
}
您不能有條件地聲明掛鈎。 你可以在頂層聲明,你可以把你的業務邏輯放在鈎子里,例如下面。
useEffect(() => {
if (process.env.NODE_ENV !== 'production'){
console.log("authToken changed", authToken);
if (tokenExpiresOn) {
console.log(
`token expires in ${(tokenExpiresOn - Date.now()).toLocaleString()}ms`
);
}
}
}, [authToken]);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.