gpt4 book ai didi

reactjs - 使用 Webpack 和 ES6 的 Fine Uploader

转载 作者:行者123 更新时间:2023-12-02 16:55:28 24 4
gpt4 key购买 nike

我正在尝试将 Fine-uploader 与通过 Webpack 捆绑的 React/ES6 应用程序集成。寻找有关如何在此堆栈中包含精细 uploader 的指南。

在我的 webpack.config.js 中,我为 Fine Uploader 设置了一个别名,如下所示:

resolve: {
alias: {
'fine-uploader': path.resolve('node_modules/fine-uploader/s3.fine-uploader')
}
}

在我的 React 组件中,我有以下内容:

import React from 'react'

import 'fine-uploader'

export default () => {
return <h1>Fine Uploader</h1>
}

Webpack 对我咆哮:

Module not found: Error: Cannot resolve 'file' or 'directory' /Users/mfeltner/code/yden/foo/node_modules/fine-uploader/s3.fine-uploader in /Users/mfeltner/code/yden/foo/static/common/containers/fine-uploader
@ ./static/common/containers/fine-uploader/fine-uploader.jsx 11:20-44

我相当确定我需要以某种方式对精细 uploader JavaScript 进行填充,因为它通过将自身附加到 window.qq 来表现出老式的方式,而且我想这不会播放与模块加载器配合良好。

最佳答案

想通了!

首先,我必须安装 exports-loader对于网页包。此加载程序将填充非 CommonJS/UMD/AMD bundle ,以便您可以 requireimport 它们 ( read more here )。然后我必须编辑 webpack.config.js 来填充我正在使用的 Fine Uploader 类型的 qq 命名空间(在本例中为 S3):

webpack.config.js:

module: {
loaders: [
{
test: /s3\.fine-uploader\.js/,
loader: 'exports?qq'
}
]
}

现在我可以从 Fine Uploader 中导入 qq 对象并像平常一样访问它,只是它不在全局命名空间上。赢了!

请注意,我必须在 React 渲染的 DOM 元素中包含一个 ref,以便 Fine Uploader 知道将自身附加到哪里。另外,请注意使用 componentDidMount 来确保元素已由 React 渲染。

fine-uploader.jsx:

import React from 'react'

import qq from 'fine-uploader/s3.fine-uploader'

class FU extends React.Component {
constructor (props) {
super(props)
}

componentDidMount () {
const fu = new qq.s3.FineUploaderBasic({
button: this.refs.fu
})
}

render () {
return <div ref='fu'>Upload!</div>
}
}

export default FU

当我尝试将此库与 React 和现代 Javascript 生态系统集成时,我可能会有更多问题。

关于reactjs - 使用 Webpack 和 ES6 的 Fine Uploader,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36185540/

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