Pourquoi "use strict"; dans un noeud générant une pile d'appels mais pas d'erreur?

Je travaille sur une application de noeud hapi.js et chaque fois que j'ai activé 'use strict' globalement, node ne sera pas commencer et il vide juste cette trace de la pile sans erreur:

Object.exports.callStack (/Users/me/my_app/node_modules/hapi/node_modules/hoek/lib/index.js:342:47),Object.internals.getSourceFilePath
(Users/me/my_app/node_modules/hapi/lib/pack.js:541:23),internals.Pack.require
(Users/me/myapp/node_modules/hapi/lib/pack.js:456:32),Object.scoped.require
(Users/me/my_app/node_modules/hapi/lib/pack.js:605:18),module.exports
(Users/me/my_app/config/packs.js:2:36),Object.
(Users/me/my_app/index.js:7:38),Module.compile 
(module.js:456:26),Object.Module.extensions..js (module.js:474:10),Module.load (module.js:356:32),Function.Module._load (module.js:312:12)

De toute évidence, quelque chose dans hoek déclenche une erreur 'use strict' - mais pourquoi le noeud ne me dit-il pas l'erreur réelle est donc je peux identifier et classer un problème?

Je devrais mentionner que nous appliquons 'use strict' à l'échelle de l'application en demandant le use-strict module, qui est juste trois lignes qui le font:

var module = require('module')
module.wrapper[0] += '"use strict";'
Object.freeze(module.wrap)
0
ajouté édité
Vues: 1
@ Mike'Pomax'Kamermans Ce n'est pas mon code. C'est un node_module qui déclenche le problème. Je suis d'accord avec vous en général; Cependant, j'ai perdu cet argument particulier avec mon équipe.
ajouté l'auteur doremi, source
Suggestion alternative: tout code JS que vous écrivez devrait avoir "use strict" de toute façon, vous ne devriez pas le laisser sous-entendre. Ensuite, plutôt que de vous fier au module use-strict, utilisez grunt et configurez une tâche jshint pour que votre code soit vérifié lorsque vous exécutez la commande grunt.
ajouté l'auteur Mike 'Pomax' Kamermans, source
Avez-vous un exemple minimal reproductible?
ajouté l'auteur Mike 'Pomax' Kamermans, source

Il n'y a pas de réponses.

0