Bueno, tengo un sistema donde tengo un archivo de entrada local que tiene información adicional sobre el inicio de sesión, etc. Obviamente, ese archivo no está en git, por lo que no será visible para el público cuando se construya o incluso se desarrolle en otra PC.
Intenté convertirlo en una importación dinámica que está protegida como una declaración de captura, si el archivo estuviera allí, solo debería ejecutarse en el inicio de la página. De lo contrario, no debería.
Entonces, en app.tsx debajo del componente principal hay esto:
React.useEffect(() => { async function loader() { if (!process.env.NODE_ENV || process.env.NODE_ENV === 'development') { try { //@ts-ignore const data = await import('./local/input_data'); //@ts-ignore if (data['userLoginData']) { //@ts-ignore await AuthStoreCtx.authStore?.doLogin({username: data.userLoginData.username, password: data.userLoginData.password}); if (!AuthStoreCtx.authStore?.loginFailed) { console.log("AUTO LOGIN SUCCEEDS"); } else { console.log("AUTO LOGIN FAILED"); } setUser(AuthStoreCtx.authStore?.user); } } catch (err) { console.log("AUTO LOGIN FAIL") } } else { console.log('production') } } if (authStore) { loader().then(() => { }); } }, [authStore]);Sin embargo, esto da el siguiente error:
Módulo no encontrado: Error: ...
Eso no es una sorpresa, pero lo que es sorprendente es que el error no es detectado por la instrucción catch (o más tarde por .catch() fuera de la promesa). ¿Cómo haría tal cosa?