Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/430.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,我正在开发一个emberjs应用程序,它使用了其他几个自定义的ember插件,其中一个我们正在添加的是对mathjs()的一个新依赖项,用于执行一些表达式解析。现在还不清楚如何正确地将依赖项的配置保持在mathjs上,而只使用使用它的插件。在余烬中有没有一种“正确”的方法可以做到这一点 我们最后做的只是将mathjs包安装到主应用程序的node_模块中,然后通过在我们的ember-cli-build.js文件中执行app.import('node_模块/mathjs/dist/math.min.

我正在开发一个emberjs应用程序,它使用了其他几个自定义的ember插件,其中一个我们正在添加的是对mathjs()的一个新依赖项,用于执行一些表达式解析。现在还不清楚如何正确地将依赖项的配置保持在mathjs上,而只使用使用它的插件。在余烬中有没有一种“正确”的方法可以做到这一点

我们最后做的只是将mathjs包安装到主应用程序的node_模块中,然后通过在我们的ember-cli-build.js文件中执行
app.import('node_模块/mathjs/dist/math.min.js')
在浏览器中公开库。这显然是不理想的,因为这意味着任何使用自定义加载项的应用程序都必须进行额外的设置,以公开该加载项的依赖关系


FWIW,我们最初尝试将mathjs依赖项安装到插件的node_模块中,然后将其导入到插件的组件中。但是浏览器说mathjs模块无法从插件导入。

您应该让
ember自动导入
为您管理此功能。为此:

  • math.js
    添加到插件的
    依赖项中(而不是
    devDependencies
  • 使用
    import
    语法将其导入到插件中
对于
import
语法,您需要注意,某些模块只有一个默认导出,它是导出属性的对象,而其他模块则有单独的导出。所以它不是

从'mathjs'导入{pi,atan2}
从'mathjs'导入mathjs

然后,您的主机应用程序应该在
devDependencies
中有您的加载项


仅当您使用完全不支持模块的东西时才使用
app.import
语法。

您应该让
ember自动导入
为您管理此功能。为此:

  • math.js
    添加到插件的
    依赖项中(而不是
    devDependencies
  • 使用
    import
    语法将其导入到插件中
对于
import
语法,您需要注意,某些模块只有一个默认导出,它是导出属性的对象,而其他模块则有单独的导出。所以它不是

从'mathjs'导入{pi,atan2}
从'mathjs'导入mathjs

然后,您的主机应用程序应该在
devDependencies
中有您的加载项

仅当您使用完全不支持模块的东西时,才使用
app.import
语法