在 Ember JS 应用程序中初始化 cloudinary_js v2
Initialize cloudinary_js v2 in Ember JS app
我正在尝试从 EmberJS 应用程序 (v2.6) 将图像上传到 cloudinary,遵循 post of Beerlington where it uses cloudinary_js(现在使用新的 API v2)并安装它:
npm install blueimp-file-upload --save
npm install cloudinary-jquery-file-upload --save
但是当我尝试初始化 cloudinary 时,无法识别该库。
#app/initializers/cloudinary.js
export default {
name: 'cloudinary',
initialize: function(/* container, app */) {
jQuery.cloudinary.config({
cloud_name: ENV.CLOUDINARY_NAME
});
}
};
#console
TypeError: Cannot read property 'config' of undefined
由于 ember.js 本质上是一个客户端框架,您需要使用 bower 库而不是 npm (more)。
使用 bower 安装 Cloudinary:
bower install cloudinary-jquery-file-upload --save
(blueimp 将作为依赖项安装。)
将导入添加到您的 ember-cli-build.js
文件中:
/*jshint node:true*/
/* global require, module */
var EmberApp = require('ember-cli/lib/broccoli/ember-app');
module.exports = function(defaults) {
var app = new EmberApp(defaults, {
// Add options here
});
app.import("bower_components/jquery/dist/jquery.js");
app.import("bower_components/blueimp-file-upload/js/vendor/jquery.ui.widget.js");
app.import("bower_components/blueimp-file-upload/js/jquery.iframe-transport.js");
app.import("bower_components/blueimp-file-upload/js/jquery.fileupload.js");
app.import('bower_components/cloudinary-jquery-file-upload/cloudinary-jquery-file-upload.js');
return app.toTree();
};
将jQuery
添加到.jshintrc
中的全局定义(此处显示片段):
{
"predef": [
"document",
"window",
"-Promise",
"jQuery",
"$"
],
"browser": true,
// rest of file...
}
如果您打算直接使用 cloudinary 命名空间,也请添加 cloudinary
。
现在您可以在代码中使用 Cloudinary 和 Blueimp。例如:
import Ember from 'ember';
export default Ember.Route.extend(
{
model() {
$.cloudinary.config({"cloud_name": "your_cloud"});
$(document).ready(function () {
$(".cloudinary-fileupload").cloudinary_fileupload(
// etc.
)}
);
}
});
我正在尝试从 EmberJS 应用程序 (v2.6) 将图像上传到 cloudinary,遵循 post of Beerlington where it uses cloudinary_js(现在使用新的 API v2)并安装它:
npm install blueimp-file-upload --save
npm install cloudinary-jquery-file-upload --save
但是当我尝试初始化 cloudinary 时,无法识别该库。
#app/initializers/cloudinary.js
export default {
name: 'cloudinary',
initialize: function(/* container, app */) {
jQuery.cloudinary.config({
cloud_name: ENV.CLOUDINARY_NAME
});
}
};
#console
TypeError: Cannot read property 'config' of undefined
由于 ember.js 本质上是一个客户端框架,您需要使用 bower 库而不是 npm (more)。
使用 bower 安装 Cloudinary:
bower install cloudinary-jquery-file-upload --save
(blueimp 将作为依赖项安装。)
将导入添加到您的 ember-cli-build.js
文件中:
/*jshint node:true*/
/* global require, module */
var EmberApp = require('ember-cli/lib/broccoli/ember-app');
module.exports = function(defaults) {
var app = new EmberApp(defaults, {
// Add options here
});
app.import("bower_components/jquery/dist/jquery.js");
app.import("bower_components/blueimp-file-upload/js/vendor/jquery.ui.widget.js");
app.import("bower_components/blueimp-file-upload/js/jquery.iframe-transport.js");
app.import("bower_components/blueimp-file-upload/js/jquery.fileupload.js");
app.import('bower_components/cloudinary-jquery-file-upload/cloudinary-jquery-file-upload.js');
return app.toTree();
};
将jQuery
添加到.jshintrc
中的全局定义(此处显示片段):
{
"predef": [
"document",
"window",
"-Promise",
"jQuery",
"$"
],
"browser": true,
// rest of file...
}
如果您打算直接使用 cloudinary 命名空间,也请添加 cloudinary
。
现在您可以在代码中使用 Cloudinary 和 Blueimp。例如:
import Ember from 'ember';
export default Ember.Route.extend(
{
model() {
$.cloudinary.config({"cloud_name": "your_cloud"});
$(document).ready(function () {
$(".cloudinary-fileupload").cloudinary_fileupload(
// etc.
)}
);
}
});