我正在开发一个emberjs应用程序,它使用了其他几个自定义的ember插件,其中一个我们正在添加的是对mathjs(https://mathjs.org/)的新依赖,以进行一些表达式解析。虽然还不清楚什么是正确的方式来保持对mathjs的依赖的配置,只有使用它的插件。在ember中有“正确”的方式来做到这一点吗?
最后我们只是将mathjs包安装到主应用的node_modules中,然后在浏览器中通过在ember-cli-build.js文件中执行app.import('node_modules/mathjs/dist/math.min.js')
来暴露库。这显然不是理想的做法,因为这意味着任何使用自定义插件的应用都必须进行额外的设置来暴露插件的依赖关系。
FWIW,我们一开始尝试将mathjs依赖项安装到插件的node_modules中,然后我们将其导入到插件的组件中使用它的地方。但随后浏览器显示mathjs模块无法从插件中导入。
1条答案
按热度按时间bjg7j2ky1#
您应该让
ember-auto-import
为您管理此操作。math.js
加到你的插件的dependencies
上(不是devDependencies
)。import
语法将其导入到插件中。对于
import
语法,您需要注意一些模块只有一个默认的导出,它是一个导出属性的对象,而其他模块则有单独的导出。import { pi, atan2 } from 'mathjs'
或import mathjs from 'mathjs'
中的一个。宿主应用程序应该在
devDependencies
中包含插件。只有在使用完全不支持模块的程序时才使用
app.import
语法。