角度测试 - ng2-datetime:未捕获TypeError:无法读取属性'日期'未定义的

时间:2017-06-28 15:57:31

标签: angular karma-jasmine angular-cli ng2-datetime

我正在使用Angular-cli以及此库:ng2-datetime

posted a comment指出了这个问题,但我想在SO上试试运气......

问题:

执行ng-test命令时,我收到以下错误消息:

  

Chrome 59.0.3071(Windows 10 0.0.0)错误未捕获的TypeError:不能   阅读财产'日期'未定义的   的WebPack:///~/bootstrap-datepicker/dist/locales/bootstrap-datepicker.es.min.js:1:0   < - src / test.ts:124808

     

Chrome 59.0.3071(Windows 10 0.0.0)错误未捕获的TypeError:不能   阅读财产'日期'未定义的   的WebPack:///~/bootstrap-datepicker/dist/locales/bootstrap-datepicker.es.min.js:1:0   < - src / test.ts:124808

突出显示:

未捕获的TypeError:无法读取属性'日期'未定义的

webpack上的

:///~/bootstrap-datepicker/dist/locales/bootstrap-datepicker.es.min.js:1:0&lt; - src / test.ts:124808 < / p>

我实际上是在将要使用的组件的模块中导入这些脚本,如下所示:

import 'bootstrap-datepicker/dist/css/bootstrap-datepicker3.min.css';
import 'bootstrap-datepicker/dist/js/bootstrap-datepicker.min.js';
import 'bootstrap-datepicker/dist/locales/bootstrap-datepicker.de.min.js';
import 'bootstrap-datepicker/dist/locales/bootstrap-datepicker.es.min.js';

我尝试了多种方法,例如添加到karma.conf.js jquery脚本:

files: [
            {pattern: './node_modules/jquery/dist/jquery.min.js', watched: true},
            {pattern: './src/test.ts', watched: false}
        ],

我真的坚持这个,但我相信它可能是Angular中使用的基于jQuery的库的常见问题。

感谢您的帮助,如果您需要任何附加信息,请告诉我,我会提供!

1 个答案:

答案 0 :(得分:1)

我找到了这个问题,它很简单!

我只需要在 karma.conf.js

中添加一行
{pattern: './node_modules/bootstrap-datepicker/dist/js/bootstrap-datepicker.min.js', watched: false},

此文件中的最终files数组如下:

files: [
    {pattern: './node_modules/jquery-ui-npm/jquery-ui.min.js', watched: false},
    {pattern: './node_modules/bootstrap-datepicker/dist/js/bootstrap-datepicker.min.js', watched: false},
    {pattern: './src/test.ts', watched: false}
],