gpt4 book ai didi

ember.js - 如何在 ember cli 应用中使用第三方 npm 包

转载 作者:行者123 更新时间:2023-12-04 20:59:16 24 4
gpt4 key购买 nike

编辑:这实际上是关于任何不与 ember 一起使用的 npm 包。就我而言,我试图让 crypto-js 工作,但对于不是专门为 ember cli 设计的任何 npm 包,它似乎总是同样的问题。

我想在我的 ember 应用程序中使用 cryptoJS,我目前正在使用 ember cli 对其进行重构,但是我在导入我已经在使用的所有第三方包和库时遇到了很多麻烦,例如 cryptoJS。

CryptoJS 至少有一个 npm 包,我什至不想考虑如果我的某些包含的库没有包会发生什么......

我只是错过了 ember-cli 文档中的要点,还是真的没有描述如何导入其他 npm 包以及如何正确包含非包库以使其处于版本控制和依赖项控制之下?

如果我遵循 crypto-js 包手册的描述:

var CryptoJS = require("crypto-js");
console.log(CryptoJS.HmacSHA1("Message", "Key"));

我的 ember build 中出现错误
utils/customauthorizer.js: line 1, col 16, 'require' is not defined.

感谢您对此提供的任何帮助,我对 ember cli 项目感到非常兴奋,但是到目前为止,导入我现有的 ember 应用程序非常痛苦......

编辑:

不幸的是,仅导入不起作用。
import CryptoJS from 'crypto-js';

在构建期间抛出
daily@dev1:~/VMD$ ember build
version: 0.1.2
Build failed.
File: vmd/utils/customauthorizer.js
ENOENT, no such file or directory '/home/daily/VMD/tmp/tree_merger-tmp_dest_dir-F7mfDQyP.tmp/crypto-js.js'
Error: ENOENT, no such file or directory '/home/daily/VMD/tmp/tree_merger-tmp_dest_dir-F7mfDQyP.tmp/crypto-js.js'
at Error (native)
at Object.fs.statSync (fs.js:721:18)
at addModule (/home/daily/VMD/node_modules/ember-cli/node_modules/broccoli-es6-concatenator/index.js:84:46)
at addModule (/home/daily/VMD/node_modules/ember-cli/node_modules/broccoli-es6-concatenator/index.js:133:9)
at addModule (/home/daily/VMD/node_modules/ember-cli/node_modules/broccoli-es6-concatenator/index.js:133:9)
at /home/daily/VMD/node_modules/ember-cli/node_modules/broccoli-es6-concatenator/index.js:59:7
at $$$internal$$tryCatch (/home/daily/VMD/node_modules/ember-cli/node_modules/rsvp/dist/rsvp.js:470:16)
at $$$internal$$invokeCallback (/home/daily/VMD/node_modules/ember-cli/node_modules/rsvp/dist/rsvp.js:482:17)
at $$$internal$$publish (/home/daily/VMD/node_modules/ember-cli/node_modules/rsvp/dist/rsvp.js:453:11)
at $$rsvp$asap$$flush (/home/daily/VMD/node_modules/ember-cli/node_modules/rsvp/dist/rsvp.js:1531:9)

最佳答案

最简单的recommended answer is to use ember-browserify . (如 support for bower packages will be removed in the future. )
这是使用 npm 包 dexie 的示例在 Ember CLI 应用程序中。
安装browserify:npm install ember-browserify --save-dev安装 dexie (或任何你需要的模块): npm install dexie --save-dev像这样导入模块:import Dexie from 'npm:dexie';
更新(2021 年 4 月):
ember-browserify 现在已被弃用,取而代之的是 ember-auto-importember-cli-cjs-transform
(请参阅弃用 warning at the top of ember-browserify )

关于ember.js - 如何在 ember cli 应用中使用第三方 npm 包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26544578/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com