Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.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
Javascript 从ember组件引用全局库_Javascript_Ember.js - Fatal编程技术网

Javascript 从ember组件引用全局库

Javascript 从ember组件引用全局库,javascript,ember.js,Javascript,Ember.js,我之所以使用,是因为我想将标记解析和语法突出显示添加到我的项目中。它唯一缺少的是行号,我想使用此库添加行号: 我用以下内容覆盖ember的md text组件: import MDTextComponent from 'ember-remarkable/components/md-text'; export default MDTextComponent.extend({ tagName: null, didRender() { this._super(...arguments

我之所以使用,是因为我想将标记解析和语法突出显示添加到我的项目中。它唯一缺少的是行号,我想使用此库添加行号:

我用以下内容覆盖
ember
md text
组件:

import MDTextComponent from 'ember-remarkable/components/md-text';

export default MDTextComponent.extend({
  tagName: null,

  didRender() {
    this._super(...arguments);

    this.$("code[class*='language-']").each((i, block) => {
      this.$(block).addClass('hljs');
      hljs.lineNumbersBlock(block);
    });
  }
});
一切正常!然而,我的编辑器抱怨说,
hljs
没有定义,即使它可以在页面上找到


如何避免此错误?

如果不是为了与将来的读者交流,您应该显式导入依赖项
从“highlightjs行号”导入hljs

如果没有其他原因,只是为了与未来的读者交流,您应该显式导入依赖项
从“highlightjs行号”导入hljs

如果是ES6模块,只需导入即可。否则,您可以将其用作
window.hljs

在浏览器中运行js代码时,
window
是全局变量的根。因此,您可以通过
window.hljs
访问它

如果在Fastboot中运行代码,这应该是访问全局对象的更好方法:
(window | | Fastboot | | global).hljs


另一方面,不使用全局对象容器,只需防止linter出现此错误。对于eslint,请参阅以下配置:。

如果是ES6模块,只需导入它即可。否则,您可以将其用作
window.hljs

在浏览器中运行js代码时,
window
是全局变量的根。因此,您可以通过
window.hljs
访问它

如果在Fastboot中运行代码,这应该是访问全局对象的更好方法:
(window | | Fastboot | | global).hljs

另一方面,不使用全局对象容器,只需防止linter出现此错误。有关eslint,请参阅以下配置: