ReferenceError: Can't find variable: require at

前端 未结 3 1840
无人及你
无人及你 2020-12-11 18:05

I have a question about using jasmine with Grunt. I keep getting an error,

ReferenceError: Can\'t find variable: require at

whenever I run

相关标签:
3条回答
  • 2020-12-11 18:14

    The solution that @user3741597 is suggesting might work, but it is a bit of a backwards solution.

    "grunt-template-jasmine-requirejs" was written for RequireJS, which is an AMD loader. On the other hand, you are using CommonJS syntax. If you want to continue to use "grunt-contrib-jasmine", then you need to find a CommonJS template, or else use the information that Jasmine has node support built-in and take a different approach.

    This post may help as well.

    0 讨论(0)
  • I had the same problem. Just install this node package and add this line to your Gruntfile and require should start working again.

    https://github.com/cloudchen/grunt-template-jasmine-requirejs

    jasmine: {
          js: {
            src: jsFiles,
            options: {
              specs: 'tests/*_spec.js',
              helpers: 'tests/helpers/*',
              vendor: 'vendor/*',
              template: require('grunt-template-jasmine-requirejs')
            }
          }
        },
    
    0 讨论(0)
  • 2020-12-11 18:22

    Leading on from the solution by @justin-helmer, there is a template that allows you to use require calls (CommonJS syntax) with grunt-contrib-jasmine:

    https://www.npmjs.com/package/grunt-template-jasmine-nml

    An example of grunt config using this:

    jasmine: {
        options: {
            template: require('grunt-template-jasmine-nml'),
            helpers: 'spec/helpers/**/*.js',
            specs: 'spec/**/*.spec.js'
        }
    }
    
    0 讨论(0)
提交回复
热议问题