मैं एक नोड मॉड्यूल जो दोनों बैकएंड और ग्राहककर्मा: नहीं खोजा जा सका चर: निर्यात
(exports || window).Bar= (function() {
return function() { .... }
})();
अब मेरी कर्म परीक्षण PhantomJs का उपयोग करें और मौजूदा नहीं exports
चर के बारे में शिकायत के लिए इस्तेमाल किया जा सकता लिखा है
gulp.task('test', function() {
var karma = require('karma').server;
karma.start({
autoWatch: false,
browsers: [
'PhantomJS'
],
coverageReporter: {
type: 'lcovonly'
},
frameworks: [
'jasmine'
],
files: [
'bar.js',
'tests/bar.spec.js'
],
junitReporter: {
outputFile: 'target/junit.xml'
},
preprocessors: {
'app/js/!(lib)/**/*.js': 'coverage'
},
reporters: [
'progress',
'junit',
'coverage'
],
singleRun: true
});
});
त्रुटि मैं
PhantomJS 1.9.7 (Mac OS X) ERROR
ReferenceError: Can't find variable: exports
निर्यात vari की अनदेखी करने के लिए एक रास्ता है वहाँ है करम/phantoms जेएस में सक्षम? - ठीक है, यह तकनीकी रूप से बिट स्रोत कोड में और अधिक जटिल है, क्योंकि यह समर्थन भी करता है एएमडी
(function(){
...
var Bar;
if (typeof exports !== 'undefined') {
Bar = exports;
} else {
Bar = window.Bar = {};
}
})();
यह पैटर्न उदाहरण के रूप में प्रयोग किया जाता है:
लेकिन वास्तव में ओपी के कोड के साथ समस्या क्या है? –
इस SO उत्तर को देखें: http://stackoverflow.com/questions/4725603/variable-undefined-vs-typeof-variable-undefined – MarcoL