首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >与Webpack一起揭秘Redux 2

与Webpack一起揭秘Redux 2
EN

Stack Overflow用户
提问于 2017-03-05 06:26:16
回答 1查看 249关注 0票数 1

我正在从事的一个项目中,正在将Webpack从版本1迁移到版本2,其中一个构建是针对依赖项文件的,在该文件中,我使用webpack的expose-loader公开了Window上的所有依赖项。

它工作得很好,除了Redux不会被曝光。

以下是我的配置的相关部分:

代码语言:javascript
复制
entry: {
    dependencies: [
        'react',
        'react-dom',
        'react-router',
        'redux',
        'react-redux',
        'redux-thunk',
        'es6-promise',
        'isomorphic-fetch'
    ]
},

和:

代码语言:javascript
复制
module: {
    rules: [
        {
            test: /\.js$/,
            use: [
                'babel-loader'
            ],
            include: path.join(__dirname, 'src')
        },
        {
            test: require.resolve('react'),
            use: 'expose-loader?React'
        },
        {
            test: require.resolve('react-dom'),
            use: 'expose-loader?ReactDOM'
        },
        {
            test: require.resolve('react-router'),
            use: 'expose-loader?ReactRouter'
        },
        {
            test: require.resolve('redux'),
            use: 'expose-loader?Redux'
        },
        {
            test: require.resolve('react-redux'),
            use: 'expose-loader?ReactRedux'
        },
        {
            test: require.resolve('redux-thunk'),
            use: 'expose-loader?ReduxThunk'
        },
        {
            test: require.resolve('isomorphic-fetch'),
            use: 'expose-loader?fetch'
        }
    ]
}

下面是我的巴别塔预设:

代码语言:javascript
复制
"presets": [
    "react",
    ["es2015", { "modules": false }],
    "stage-2"
],

当我运行构建时,我得到以下输出:

请注意,Redux是通过函数添加的。

你知道怎么解决这个问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-09 05:12:04

看起来webpack不能像你在条目列表中那样,通过简单的字符串引用自动解析redux和其他模块。

console.log放入expose-loader/index.js中会导致此输出。这表明Redux和其他人甚至没有通过expose loader。

将条目列表更改为此,应该可以解决问题。

代码语言:javascript
复制
   entry: [
        require.resolve('redux'),
        require.resolve('react'),
        require.resolve('react-dom'),
        require.resolve('react-router'),
        require.resolve('react-redux'),
        require.resolve('redux-thunk'),
        require.resolve('es6-promise'),
        require.resolve('isomorphic-fetch')
    ],
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42602114

复制
相关文章

相似问题

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