Utiliser fs en caractères d'imprimerie
Je suis juste en train de lire un fichier à l'aide de fs.readFileSync
, mais il semble qu'il ne peut pas être trouvé.
J'ai fait en sorte de le déclarer, de l'ajouter dans mon constructeur:
export default class Login extends React.Component<LoginProps, {}> {
private webAuth: auth0.WebAuth;
fs: any;
constructor(props: any, context: any) {
super(props, context);
this.fs = require('fs');
this.webAuth = new auth0.WebAuth({
clientID: conf.auth0.clientId,
domain: conf.auth0.domain,
responseType: 'token id_token',
redirectUri: `${window.location.origin}/login`
});
}
[...]
Et l'a utilisé dans une fonction simple:
verifyToken = (token) => {
console.log(this.fs);
let contents = this.fs.readFileSync('../utils/public.key', 'utf8');
console.log(contents);
}
Mais cela soulève une Uncaught TypeError: _this.fs.readFileSync is not a function
. Est-il une façon spéciale pour inclure fs
en caractères d'imprimerie ?
- ce votre
Login
composant est un composant de navigation, à droite? Pourquoi essayez-vous d'utiliser lefs
module? - Si vous utilisez wepback vous pourriez avoir besoin de contenu de fichiers à l'aide de
raw-loader
.
Vous devez vous connecter pour publier un commentaire.
Premier. Je ne peux pas imaginer un cas où vous auriez à utiliser
fs
à l'intérieur d'une Réagir composant. Même si vous pouvez utiliser Réagir dans le serveur pour le rendu de choses, le même code est censé fonctionner dans le client, il n'y a aucun moyen que vous pouvez accéder àfs
dans le client.Si vous souhaitez utiliser
fs
dans le serveur, c'est un exemple:Sur votre
package.json
fichier, assurez-vous d'avoir une dépendance sur le nœudEt c'est ainsi que ma
tsconfig.json
fichier ressemble à ceci:fs
, dans mon cas, est utilisé pour ouvrir un fichier qui contient un Auth0 une clé publique, qui est utilisée pour vérifier l'jwt jeton. Je suis encore assez nouveau pour Réagir, merci pour les conseils!!!À l'aide de
node -v 10.15.0
et @types de/node:Il semble déclaration a été réécrit...
fs
définition est déclaré comme unmodule
de sorte que vous devriez faire:import fs from "fs"; //Without star
compilé:
var fs_1 = __importDefault(require("fs"));
ou
const fs = require("fs");
au lieu derequire("fs").default;
avec étoiles, vous aurez
fs.default.TheFunctionYouWant
au lieu defs.TheFunctionYouWant
La meilleure façon est de
console.log(fs);
pour voir ce qu'il est importé.