我已将ng2-ace-editor用于其中一个组件,并尝试使用ng test
命令运行测试用例。但是由于某些原因,它会引发Uncaught TypeError: ace.acequire is not a function
错误。
这是我的.spec.ts文件代码:
import { NewModule } from './new.module';
import {AceEditorModule} from 'ng2-ace-editor';
import 'brace';
import 'brace/mode/json';
import 'brace/ext/language_tools';
describe('NewModule', () => {
let component: NewModule;
let fixture: ComponentFixture<Module>;
beforeEach(async(() => {
TestBed.configureTestingModule({
imports: [ MaterialModule, ReactiveFormsModule, FormsModule, HttpModule,
HttpClientTestingModule, RouterTestingModule, BrowserAnimationsModule,
AceEditorModule
],
declarations: [ NewModule ]
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(NewModule);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});
我不知道该如何解决。我到某个地方知道大括号是依赖项,需要安装它。我确实安装了支架,但无法正常工作。我尝试在angular.json的脚本中提供依赖项文件,但是它不起作用。
代码如下:
"scripts": [
"node_modules/ace-builds/src-min/ace.js",
"node_modules/ace-builds/src-min/ext-language_tools.js",
"node_modules/ace-builds/src-min/mode-javascript.js",
"node_modules/ace-builds/src-min/mode-typescript.js",
"node_modules/ace-builds/src-min/mode-json.js",
"node_modules/ace-builds/src-min/theme-eclipse.js"
]
由于此其他规范文件未运行,因此业力引发以下错误。请建议我我需要做什么。
Uncaught TypeError: ace.acequire is not a function
at language_tools.js:1954
at Object../node_modules/brace/ext/language_tools.js (language_tools.js:1955)
at __webpack_require__ (bootstrap:76)
答案 0 :(得分:0)
我遇到了相同的问题,并通过在xx.component .ts 文件而非 .spec.ts 文件中添加代码打击来解决了该问题。
import 'brace';