我有以下代码来加载我的AngularJS网站的index.html中的MonacoEditor:
<link rel="stylesheet" data-name="vs/editor/editor.main" href="/monaco-editor/min/vs/editor/editor.main.css" />
<script src="/monaco-editor/min/vs/loader.js"></script>
<script src="/monaco-editor/min/vs/editor/editor.main.nls.js"></script>
<script src="/monaco-editor/min/vs/editor/editor.main.js"></script>
<script>
require.config({ paths: { 'vs': '/monaco-editor/min/vs' }})
console.log(monaco)
</script>运行该网站将显示well monaco,它将在另一个JavaScript文件中使用。
现在,我想通过ocLazyLoad加载MonacoEditor
.state('addin', {
abstract: true,
template: '<ui-view/>',
resolve: {
loadAddinCtrl: ['$ocLazyLoad', function ($ocLazyLoad) {
return $ocLazyLoad.load({files: [
"/monaco-editor/min/vs/editor/editor.main.css",
"/monaco-editor/min/vs/loader.js",
"/monaco-editor/min/vs/editor/editor.main.nls.js",
"/monaco-editor/min/vs/editor/editor.main.js"
]}).then(function () {
require.config({ paths: { 'vs': '/monaco-editor/min/vs' }})
console.log(monaco)
})
}]
}
})上面的代码返回ReferenceError: monaco is not defined。有人知道为什么会这样吗?
实际上,我不太理解require.config的用途,它似乎使代码的灵活性降低了很多。有没有人有别的选择呢?
发布于 2018-04-27 05:06:58
您已经加载了依赖项,但尚未加载Mongo.在你的require.config之后试试这个
require.config({ paths: { 'vs': '/monaco-editor/min/vs' }})
require(['vs/editor/editor.main'], function onMonacoLoaded(){
console.log(monaco);
});https://stackoverflow.com/questions/50017351
复制相似问题