Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Requirejs不添加";。js";对于使用karma的模块_Requirejs_Typescript_Karma Runner_Webstorm_Karma Jasmine - Fatal编程技术网

Requirejs不添加";。js";对于使用karma的模块

Requirejs不添加";。js";对于使用karma的模块,requirejs,typescript,karma-runner,webstorm,karma-jasmine,Requirejs,Typescript,Karma Runner,Webstorm,Karma Jasmine,我有一个简单的测试,必须在webstorm中使用karma和requirejs 问题是出于某种原因,requirejs没有为我加载测试的模块添加“.js”。因此,它在加载“./ts/mamats/mama”时崩溃,而“./ts/mamats/mama.js”存在 测试(main.jasmine.js): 当我将“./ts/mamats/mama”替换为“./ts/mamats/mama.js”时,一切都正常工作 sourceMappingURL在这里,因为javaScript文件是从typeSc

我有一个简单的测试,必须在webstorm中使用karma和requirejs

问题是出于某种原因,requirejs没有为我加载测试的模块添加“.js”。因此,它在加载“./ts/mamats/mama”时崩溃,而“./ts/mamats/mama.js”存在

测试(main.jasmine.js):

当我将“./ts/mamats/mama”替换为“./ts/mamats/mama.js”时,一切都正常工作

sourceMappingURL在这里,因为javaScript文件是从typeScript源文件生成的,因此我无法手动为模块添加“.js”

测试从这个入口点(main Test.js)开始:

为什么requirejs不在这里为模块添加“.js”

Karma conf文件:

module.exports = function(config) {
  config.set({
    basePath: '../',
    frameworks: ['jasmine', 'requirejs'],
    files: [
      'static-tests/main-test.js',
      { pattern: 'static/**/*', included: false },
      { pattern: 'static-tests/**/*', included: false }
    ],
    exclude: [],
    preprocessors: {},
    reporters: ['progress'],
    port: 9876,
    colors: true,
    logLevel: config.LOG_INFO,
    autoWatch: false,
    browsers: ['Chrome'],
    singleRun: false
  });
};

以下是关于RequireJs如何处理此问题的有趣阅读:

阅读这本书让它看起来像是RequireJS的一个问题,但对于这是否属实,似乎存在一些争论。无论如何,这似乎解决了问题

var tests = Object.keys(window.__karma__.files).filter(function (file) {
  return /\.spec\.js$/.test(file);
}).map(function(file){
  return file.replace(/^\/base\/src\/js\/|\.js$/g,'');
});

require.config({
  baseUrl: '/base/src/js'
});

require(tests, function(){
  window.__karma__.start();
});

以下是关于RequireJs如何处理此问题的有趣阅读:

阅读这本书让它看起来像是RequireJS的一个问题,但对于这是否属实,似乎存在一些争论。无论如何,这似乎解决了问题

var tests = Object.keys(window.__karma__.files).filter(function (file) {
  return /\.spec\.js$/.test(file);
}).map(function(file){
  return file.replace(/^\/base\/src\/js\/|\.js$/g,'');
});

require.config({
  baseUrl: '/base/src/js'
});

require(tests, function(){
  window.__karma__.start();
});

以下是关于RequireJs如何处理此问题的有趣阅读:

阅读这本书让它看起来像是RequireJS的一个问题,但对于这是否属实,似乎存在一些争论。无论如何,这似乎解决了问题

var tests = Object.keys(window.__karma__.files).filter(function (file) {
  return /\.spec\.js$/.test(file);
}).map(function(file){
  return file.replace(/^\/base\/src\/js\/|\.js$/g,'');
});

require.config({
  baseUrl: '/base/src/js'
});

require(tests, function(){
  window.__karma__.start();
});

以下是关于RequireJs如何处理此问题的有趣阅读:

阅读这本书让它看起来像是RequireJS的一个问题,但对于这是否属实,似乎存在一些争论。无论如何,这似乎解决了问题

var tests = Object.keys(window.__karma__.files).filter(function (file) {
  return /\.spec\.js$/.test(file);
}).map(function(file){
  return file.replace(/^\/base\/src\/js\/|\.js$/g,'');
});

require.config({
  baseUrl: '/base/src/js'
});

require(tests, function(){
  window.__karma__.start();
});

在require.js中似乎有问题

问题在于下一步: 1.在deps中出现绝对路径时-requirejs stop add“.js”用于任何require调用 2.当在deps中出现扩展名为的文件时,出于某种原因,要求js再次停止为模块添加“.js”

这里的其他解决方案-替换bathUrl并将其添加到requirejs conf中没有帮助

对我来说,下一个解决方案是:

var tests = Object.keys(window.__karma__.files).filter(function (file) {
    return (/\-jasmine\.js$/).test(file);
}).map(function (file) {
    return file.replace(/^\/|\.js$/g, '');
});

对于requirejs.conf


我不知道为什么requirejs仍然为所有被请求的url添加“/base”,但现在一切都正常了,在require.js中看起来有麻烦了

问题在于下一步: 1.在deps中出现绝对路径时-requirejs stop add“.js”用于任何require调用 2.当在deps中出现扩展名为的文件时,出于某种原因,要求js再次停止为模块添加“.js”

这里的其他解决方案-替换bathUrl并将其添加到requirejs conf中没有帮助

对我来说,下一个解决方案是:

var tests = Object.keys(window.__karma__.files).filter(function (file) {
    return (/\-jasmine\.js$/).test(file);
}).map(function (file) {
    return file.replace(/^\/|\.js$/g, '');
});

对于requirejs.conf


我不知道为什么requirejs仍然为所有被请求的url添加“/base”,但现在一切都正常了,在require.js中看起来有麻烦了

问题在于下一步: 1.在deps中出现绝对路径时-requirejs stop add“.js”用于任何require调用 2.当在deps中出现扩展名为的文件时,出于某种原因,要求js再次停止为模块添加“.js”

这里的其他解决方案-替换bathUrl并将其添加到requirejs conf中没有帮助

对我来说,下一个解决方案是:

var tests = Object.keys(window.__karma__.files).filter(function (file) {
    return (/\-jasmine\.js$/).test(file);
}).map(function (file) {
    return file.replace(/^\/|\.js$/g, '');
});

对于requirejs.conf


我不知道为什么requirejs仍然为所有被请求的url添加“/base”,但现在一切都正常了,在require.js中看起来有麻烦了

问题在于下一步: 1.在deps中出现绝对路径时-requirejs stop add“.js”用于任何require调用 2.当在deps中出现扩展名为的文件时,出于某种原因,要求js再次停止为模块添加“.js”

这里的其他解决方案-替换bathUrl并将其添加到requirejs conf中没有帮助

对我来说,下一个解决方案是:

var tests = Object.keys(window.__karma__.files).filter(function (file) {
    return (/\-jasmine\.js$/).test(file);
}).map(function (file) {
    return file.replace(/^\/|\.js$/g, '');
});

对于requirejs.conf

我不知道为什么requirejs仍然为所有请求的url添加“/base”,但现在一切正常

看起来解决方案在这里:明天尝试。看起来解决方案在这里:明天尝试。看起来解决方案在这里:明天尝试。看起来解决方案在这里:明天尝试。看起来解决方案在这里:明天尝试。