在 ember js 框架中导入节点 js 模块
import node js module in ember js framework
我正在尝试将一个简单的节点 js 模块导入 Ember js。我按照 https://guides.emberjs.com/v3.8.0/getting-started/quick-start/ 的快速入门进行操作,并使人员列表正常工作。
然后我使用 npm install upper-case
添加了简单的大写模块,并将 app.import('node_modules/upper-case/upper-case.js');
添加到 ember-cli-build.js
,如 https://guides.emberjs.com/release/addons-and-dependencies/managing-dependencies/ 中所述。
之后,我打开 scientists.js
并添加导入到 upper-case
如下:
import Route from '@ember/routing/route';
//import uc from 'upper-case';
export default Route.extend({
model() {
var arr = new Array();
arr[0] = 'Marie Curie'; // uc('Marie Curie');
arr[1] = 'Mae Jemison';
arr[2] = 'Albert Hofmann';
return arr;
}
});
如果我删除评论,它会显示一个空白屏幕。如果我使用 'Marie Curie'.toUpperCase()
它可以工作,但我希望能够导入此类节点模块。我怎样才能做到这一点?
我已经尝试了 和 ember-auto-import
,但它们似乎对我不起作用。上面的方法我试了下,貌似简单,如果能这样就好了。
PS:我可以让upper-case
在其他JS框架如React和Vue中工作,所以模块本身没有任何问题。
如果你安装 ember-auto-import,你将能够使用任何 npm 包,就像特定 npm 包的文档所说的那样使用它(前提是特定的 npm 包在构建时正确配置).
https://github.com/ef4/ember-auto-import
这将很快成为默认设置(建议使用 app.import)
ember-auto-import 比 app.import 更推荐的原因是因为 JS 可以存在约 5 种不同的模块格式,而你需要 在使用 app.import 时担心那些。 ember-自动导入,由 webpack 提供支持,将所有这些都从你身上抽象出来。
fwiw,JS 有 .toUpperCase()
内置:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toUpperCase
因此您不需要那个特定模块。
编辑
I have already tried exception while importing module in ember js and ember-auto-import, but they don't seem to work for me. The above method I tried seems to be simple and would be nice if it can work this way.
你有没有遇到任何错误?
我正在尝试将一个简单的节点 js 模块导入 Ember js。我按照 https://guides.emberjs.com/v3.8.0/getting-started/quick-start/ 的快速入门进行操作,并使人员列表正常工作。
然后我使用 npm install upper-case
添加了简单的大写模块,并将 app.import('node_modules/upper-case/upper-case.js');
添加到 ember-cli-build.js
,如 https://guides.emberjs.com/release/addons-and-dependencies/managing-dependencies/ 中所述。
之后,我打开 scientists.js
并添加导入到 upper-case
如下:
import Route from '@ember/routing/route';
//import uc from 'upper-case';
export default Route.extend({
model() {
var arr = new Array();
arr[0] = 'Marie Curie'; // uc('Marie Curie');
arr[1] = 'Mae Jemison';
arr[2] = 'Albert Hofmann';
return arr;
}
});
如果我删除评论,它会显示一个空白屏幕。如果我使用 'Marie Curie'.toUpperCase()
它可以工作,但我希望能够导入此类节点模块。我怎样才能做到这一点?
我已经尝试了 ember-auto-import
,但它们似乎对我不起作用。上面的方法我试了下,貌似简单,如果能这样就好了。
PS:我可以让upper-case
在其他JS框架如React和Vue中工作,所以模块本身没有任何问题。
如果你安装 ember-auto-import,你将能够使用任何 npm 包,就像特定 npm 包的文档所说的那样使用它(前提是特定的 npm 包在构建时正确配置).
https://github.com/ef4/ember-auto-import
这将很快成为默认设置(建议使用 app.import)
ember-auto-import 比 app.import 更推荐的原因是因为 JS 可以存在约 5 种不同的模块格式,而你需要 在使用 app.import 时担心那些。 ember-自动导入,由 webpack 提供支持,将所有这些都从你身上抽象出来。
fwiw,JS 有 .toUpperCase()
内置:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toUpperCase
因此您不需要那个特定模块。
编辑
I have already tried exception while importing module in ember js and ember-auto-import, but they don't seem to work for me. The above method I tried seems to be simple and would be nice if it can work this way.
你有没有遇到任何错误?