项目中使用 rc-util/es/warning 后,打包后的生产代码为什么会包含警告代码?
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 35/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- javascript, typescript, vite
- Ambito
- build-system, frontend
Direzione di ricerca
Inizia dalla riproduzione StackBlitz e dall’entry point rc-util/es/warning, quindi esamina le righe 7356-7467 del dist/assets/index.57005310.js generato. Confronta il bundle di produzione con l’implementazione di warning mostrata nell’issue; il lavoro è completato quando il codice di warning viene rimosso dall’output di produzione senza compromettere il comportamento in sviluppo.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
问题如题所述
复现案例
https://stackblitz.com/edit/vitejs-vite-zdg5hc?file=src%2FApp.tsx
请看案例中 dist/assets/index.57005310.js 文件中 7356-7467 代码行
期待行为:
正常来说生产代码不应该包含警告(console.log/console.warn/console.error)等不影响项目执行的代码
造成问题的原因:
// 源码实现如下(只是列出部分代码)
export function warning(valid, message) {
if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {
console.error(message)
}
}
// 相比以上实现,下列实现则会在打包生产代码时移除相关代码
function noop() {}
export let warning = noop
if (process.env.NODE_ENV !== 'production') {
warning = function () {
if (!valid && console !== undefined) {
console.error(message)
}
}
}
另外,console !== undefined 可以移除,客户端和服务端不是都有 console 对象么?
- Lingua principale
- TypeScript
- Stelle
- 670
- Fork
- 205
- Merge medio
- 15g 17h
- PR unite (30g)
- 6
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di react-component/util
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
react-component/util#816 ·
-
injectCSS method not attaching csp nonce passed to it. it is used in antd components internally Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
react-component/util#671 · 1 commento ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
react-component/util#738 · 1 commento · 1 reazione ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 25/100
react-component/util#710 ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 25/100
react-component/util#647 · 5 commenti ·
Tutte le issue di react-component/util
Issue simili
-
S: triage
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
-
fix(errors): EHOSTUNREACH from a happy-eyeballs connect is reported as a resolver error (STAMP-80) Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 90/100
snapshot-labs/stamp#666 ·
-
fix(api): prevent leaderboard SSE heartbeat from starting after disconnect during initial load Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
GauravKarakoti/SecureFlow#1070 · 1 commento ·
-
feature:Languages/Translations good first issue ready Web
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
digitalfabrik/integreat-app#4394 ·