Angular.js: 错误:TypeError:试图分配给只读属性。

创建于 2017-10-10  ·  3评论  ·  资料来源: angular/angular.js

我提交一个...

  • [x] 错误报告
  • [ ] 功能要求
  • [ ] 其他(请不要在此处提交支持请求(见上文))

当前行为:

PhantomJS 2.1.1 (Linux 0.0.0) ERROR
  TypeError: Attempted to assign to readonly property.
  at node_modules/angular-mocks/angular-mocks.js:18

预期/新行为:

我目前正在使用带有 virtualenv 的 Ubuntu 16.04,此错误使其无法运行我的前端服务器。 这使得在后端工作变得困难。

使用说明最小限度地再现问题:

跑步。
gulp dev:runserver

整个错误

[18:25:34] Using gulpfile ~/OpenSource/evalai/gulpfile.js
[18:25:34] Starting 'dev:runserver'...
[18:25:34] Starting 'dev'...
[18:25:34] Starting 'clean'...
[18:25:34] Finished 'clean' after 50 ms
[18:25:34] Starting 'css'...
[18:25:34] Starting 'js'...
[18:25:34] Finished 'js' after 26 ms
[18:25:34] Starting 'html'...
[18:25:34] Finished 'html' after 1.96 ms
[18:25:34] Starting 'images'...
[18:25:34] Starting 'vendorjs'...
Required path doesn't exist: /home/isht3/OpenSource/evalai/bower_components/angular-material-datetimepicker/dist/angular-material-datetimepicker.min.js angular-material-datetimepicker
[18:25:34] Finished 'vendorjs' after 895 μs
[18:25:34] Starting 'vendorcss'...
Required path doesn't exist: /home/isht3/OpenSource/evalai/bower_components/angular-material-datetimepicker/css/material-datetimepicker.css angular-material-datetimepicker
[18:25:34] Finished 'vendorcss' after 430 μs
[18:25:34] Starting 'fonts'...
[18:25:34] Starting 'configDev'...
[18:25:34] Finished 'configDev' after 4.82 ms
[18:25:34] Finished 'fonts' after 222 ms
[18:25:34] Finished 'images' after 232 ms
[18:25:34] Finished 'css' after 576 ms
[18:25:34] Starting 'inject'...
[18:25:34] Finished 'inject' after 4.73 ms
[18:25:34] Finished 'dev' after 634 ms
[18:25:34] Starting 'lint'...
[18:25:35] gulp-inject 9 files into base.html.
[18:25:36] Finished 'lint' after 1.56 s
[18:25:36] Starting 'connect'...
[18:25:36] Finished 'connect' after 17 ms
[18:25:36] Starting 'watch'...
[18:25:36] Finished 'watch' after 135 ms
[18:25:36] Starting 'test:watch'...
[18:25:36] Server started http://localhost:8888
10 10 2017 18:25:36.655:WARN [watcher]: Pattern "/home/isht3/OpenSource/evalai/frontend/dist/vendors/*.js" does not match any file.
10 10 2017 18:25:36.696:WARN [karma]: No captured browser, open http://localhost:9876/
10 10 2017 18:25:36.705:INFO [karma]: Karma v1.7.1 server started at http://0.0.0.0:9876/
10 10 2017 18:25:36.705:INFO [launcher]: Launching browser PhantomJS with unlimited concurrency
10 10 2017 18:25:36.730:INFO [launcher]: Starting browser PhantomJS
10 10 2017 18:25:37.024:INFO [PhantomJS 2.1.1 (Linux 0.0.0)]: Connected on socket JifOUk5oAkoB3DrkAAAA with id 22967302

START:
PhantomJS 2.1.1 (Linux 0.0.0) ERROR
  TypeError: Attempted to assign to readonly property.
  at node_modules/angular-mocks/angular-mocks.js:18

Finished in 0.143 secs / 0 secs @ 18:25:37 GMT+0530 (IST)

SUMMARY:
✔ 0 tests completed

我搜索了很多,我没有发现如何解决它。 我是角度的新手。

ngMock more info

所有3条评论

您使用的是哪个版本的 AngularJS? node_modules/angular-mocks/angular-mocks.js第 18 行(堆栈跟踪中提到)上有什么?

这是一个很大的猜测,因为您没有提供足够的信息来确定,但我相信您收到错误的那一行是

angular.mock = {};

这意味着angular.mock是只读属性,或者可能angular不存在。 在后一种情况下,我猜错误消息是红鲱鱼?

如果是这种情况,那么可能是您在加载angular.js angular-mocks.js文件?

@gkalpak @petebacondarwin我不知道到底出了什么问题,我在 Angular 上没有足够的调试经验,但是当我运行bower install angular-material-datetimepicker时它就解决了。 我过去看到了一些关于此的问题,希望这对遇到此错误的人有所帮助。

此页面是否有帮助?
0 / 5 - 0 等级