首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >与类型记录一起使用FineUploader (Angular2项目)

与类型记录一起使用FineUploader (Angular2项目)
EN

Stack Overflow用户
提问于 2016-12-15 08:58:41
回答 4查看 1.8K关注 0票数 1

在我的angular2项目中使用fineuploader库面临一个问题。在没有直接在索引html文件中使用fineuploader.js的情况下,我找不到实现它的方法。是否有实现打字本的例子?谢谢你

代码语言:javascript
复制
***Gulpfile***


    gulp.task('restore:fine-uploader', function () {
    gulp.src([
        'node_modules/fine-uploader/**/*.*'
    ]).pipe(gulp.dest(libs + 'fine-uploader'));
    });

    gulp.task('restore',
    [
    'restore:core-js',
    'restore:zone.js',
    'restore:reflect-metadata',
    'restore:systemjs',
    'restore:rxjs',
    'restore:angular-in-memory-web-api',
    'restore:angular',
    'restore:bootstrap',
    'restore:ng2-pagination',
    'restore:fine-uploader'
    ]);

***Systemjs.js***

    (function (global) {
    System.config({
        baseURL: "/",
        paths: {
            // paths serve as alias
            'npm:': './libs/'
        },
        // map tells the System loader where to look for things
        map: {
            // our app is within the app folder
            app: 'app',
            // angular bundles
            '@angular/core': 'npm:@angular/core/bundles/core.umd.js',
            '@angular/common': 'npm:@angular/common/bundles/common.umd.js',
            '@angular/compiler': 'npm:@angular/compiler/bundles/compiler.umd.js',
            '@angular/platform-browser': 'npm:@angular/platform-browser/bundles/platform-browser.umd.js',
            '@angular/platform-browser-dynamic':
                'npm:@angular/platform-browser-dynamic/bundles/platform-browser-dynamic.umd.js',
            '@angular/http': 'npm:@angular/http/bundles/http.umd.js',
            '@angular/router': 'npm:@angular/router/bundles/router.umd.js',
            '@angular/forms': 'npm:@angular/forms/bundles/forms.umd.js',
            // other libraries
            'rxjs': 'npm:rxjs',
            'ng2-pagination': 'npm:ng2-pagination',
            'fine-uploader': 'npm:fine-uploader',
            'angular-in-memory-web-api': 'npm:angular-in-memory-web-api'
        },
        // packages tells the System loader how to load when no filename and/or no extension
        packages: {
            app: {
                main: './main.js',
                defaultExtension: 'js'
            },
            rxjs: {
                defaultExtension: 'js'
            },
            'angular-in-memory-web-api': {
                main: './index.js',
                defaultExtension: 'js'
            },
            fineUploader: {
                main: 'fine-uploader/fine-uploader.min',
                defaultExtension: 'js'
            },
}
    });
})(this);

****upload.component.ts****

代码语言:javascript
复制
import { Component } from '@angular/core';
import { FineUploader } from 'fineUploader';
@Component({
    selector: 'app-upload',
    templateUrl: './app/upload/upload.component.html'
})
export class UploadComponent {

}
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2016-12-15 10:42:02

好吧我想我明白了。精细-Uploader是一个JS库,没有我们可以使用的类型记录文件。我们不能直接将库导入到TS文件中。解决方案是声明一个像declare var qq:any;这样的精细上传器对象,我们可以在导出类中使用它。

票数 0
EN

Stack Overflow用户

发布于 2017-05-19 10:18:58

使用declare var qq:any;不是正确的方法。我就是这么做的:

步骤零:angular-cli.json文件中包含CSS和JS文件。

代码语言:javascript
复制
"styles": [
    "../node_modules/fine-uploader/fine-uploader/fine-uploader-gallery.min.css"
],
"scripts": [
    "../node_modules/fine-uploader/fine-uploader/fine-uploader.min.js"
],

第一步:在组件文件的顶部添加/// <reference types="fine-uploader" />

第二步:声明以下变量:

代码语言:javascript
复制
uploader: FineUploader.qq;
uiOptions: FineUploader.UIOptions;
coreEvents: FineUploader.CoreEvents;

第三步:添加UI选项并在ngOnInit中初始化FineUploader

代码语言:javascript
复制
this.uiOptions = {
    element: document.getElementById('qq-template'),
    template: "qq-template"
};
this.uploader = new qq.FineUploader(this.uiOptions);

第四步:COMPONENT_NAME.component.html文件中添加COMPONENT_NAME.component.html模板。您可以在node_modules/fine-uploader/fine-uploader/templates/中找到

票数 2
EN

Stack Overflow用户

发布于 2016-12-15 09:18:07

在systemjs.config中添加以下内容

代码语言:javascript
复制
'fineUploader': 'npm:fine-uploader'

代码语言:javascript
复制
fineUploader: {
    main: '/fine-uploader/fine-uploader.min',
    defaultExtension: 'js'
  },

在组件中添加

代码语言:javascript
复制
import {FineUploader} from 'fineUploader';

有关更多信息,您可以在fine-uploader.d.ts上添加https://raw.githubusercontent.com/FineUploader/fine-uploader/8d4c621ffc147d6c91fbcd68ba94482b94665078/typescript/fine-uploader.d.ts查找

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41160048

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档