Ember.js ember cli能否导入json和其他非JS文件?

Ember.js ember cli能否导入json和其他非JS文件?,ember.js,ember-cli,Ember.js,Ember Cli,鉴于ember cli使用ES6模块语法导入其他JavaScript文件,是否也可以使用相同的语法导入非JavaScript文件,如JSON文件或其他文本文件 假设我在当前目录中有一个名为“foo.JSON”的JSON文件。如何将该文件的内容导入当前JavaScript文件中的变量?我尝试了以下几种变体,但没有成功: import foo from 'foo.json'; if (typeof foo === 'object') { // Success } else { // imp

鉴于ember cli使用ES6模块语法导入其他JavaScript文件,是否也可以使用相同的语法导入非JavaScript文件,如JSON文件或其他文本文件

假设我在当前目录中有一个名为“foo.JSON”的JSON文件。如何将该文件的内容导入当前JavaScript文件中的变量?我尝试了以下几种变体,但没有成功:

import foo from 'foo.json';

if (typeof foo === 'object') {
  // Success
} else {
  // import failed
}

是否可以使用
import
语句或任何其他方法将非JavaScript文件导入当前文件?

否。用于导入内容的ES6模块语法还需要正确导出所请求的对象,而json文件或文本文件不会正确导出。此外,由于浏览器中还没有ES6,所以在构建项目时,所有这些漂亮的语句都会转换为commonjs模块

在我看来,你有两个选择

将文件放入公用文件夹并通过ajax加载是一个简单的解决方案,尽管不是很优雅


最酷的选择是添加一个自己的预处理器,将json文件包装在适当的导出语句中作为构建步骤。不过,这将需要大量的工作,可能需要深入研究ember cli和西兰花,以便在正确的时间连接它。

不,不是。用于导入内容的ES6模块语法还需要正确导出所请求的对象,而json文件或文本文件不会正确导出。此外,由于浏览器中还没有ES6,所以在构建项目时,所有这些漂亮的语句都会转换为commonjs模块

在我看来,你有两个选择

将文件放入公用文件夹并通过ajax加载是一个简单的解决方案,尽管不是很优雅


最酷的选择是添加一个自己的预处理器,将json文件包装在适当的导出语句中作为构建步骤。不过,这将需要更多的工作,可能需要深入研究ember cli和Brocoli,以便在正确的时间连接它。

是的,ember cli可以导入JSON和非JS文件,只要您有合适的插件

这一个允许导入JSON文件:


。。。这一个适用于YAML:。

是的,只要有合适的插件,ember cli就可以导入JSON和非JS文件

这一个允许导入JSON文件:


。。。这一个适用于YAML:。

如果我能弄明白的话,我更喜欢“酷”选项。如果我使用花椰菜插件将JSON文件转换为ES6/AMD js模块,有没有办法将生成的js模块导入主app.js文件(位于assets/app.js)中?将其导入app.js可能很棘手,但使用
app.import()
将其放入vendor.js中应该足够好了。如果我能找到答案,我更喜欢“酷”选项。如果我使用一个花椰菜插件,将JSON文件转换成ES6/AMD js模块,有没有办法将生成的js模块导入主app.js文件(位于assets/app.js)中?将其导入app.js可能很棘手,但使用
app.import()
将其放入vendor.js中,这应该足够好了。