【问题标题】:webpack cannot resolve flux/utilswebpack 无法解析通量/实用程序
【发布时间】:2016-07-06 11:33:49
【问题描述】:

我有一个用 TypeScript 编写的操作系统项目,我正在迁移到 webpack,

但是,由于这个错误,我目前无法构建项目

ERROR in ./src/store/GigaStore.ts
Module not found: Error: Cannot resolve module 'flux/utils' in /home/erfangc/GigaGrid/src/store
 @ ./src/store/GigaStore.ts 11:16-37

项目位于此处 https://github.com/erfangc/GigaGrid/tree/webpack

这是我为达到这一点所做的工作:

  • 使用ts-loader
  • 导入flux/utils的行是:import FluxUtils = require('flux/utils');
  • 我尝试了替代导入语法,但无济于事
  • 我尝试为flux/utils: 'ABSOLUTE_PATH' 添加一个resolve.alias 部分

文件肯定存在于node_modules下,我依赖的其他库似乎捆绑得很好

非常感谢任何帮助...

webpack.config.js 转载自 repo

module.exports = {
    entry: "./src/index.ts",
    output: {
        path: "./dist",
        libraryTarget: "umd",
        library: "GigaGrid",
        filename: "giga-grid.js"
    },
    resolve: {
        extensions: ['', 'webpack.js', '.web.js', 'js', '.ts', '.tsx']
    },
    module: {
        loaders: [
            {
                test: /\.tsx?$/, loader: "ts-loader"
            },
            {
                test: /\.css$/, loader: "style-loader!css-loader"
            },
            {
                test: /\.woff(\?v=\d+\.\d+\.\d+)?$/,
                loader: "url?limit=10000&mimetype=application/font-woff"
            }, {
                test: /\.woff2(\?v=\d+\.\d+\.\d+)?$/,
                loader: "url?limit=10000&mimetype=application/font-woff"
            }, {
                test: /\.ttf(\?v=\d+\.\d+\.\d+)?$/,
                loader: "url?limit=10000&mimetype=application/octet-stream"
            }, {
                test: /\.eot(\?v=\d+\.\d+\.\d+)?$/,
                loader: "file"
            }, {
                test: /\.svg(\?v=\d+\.\d+\.\d+)?$/,
                loader: "url?limit=10000&mimetype=image/svg+xml"
            }
        ]
    },
    externals: {
        "react": {
            commonjs: 'react',
            commonjs2: 'react',
            amd: 'react',
            root: 'React'
        },
        "react-dom": {
            commonjs: 'react-dom',
            commonjs2: 'react-dom',
            amd: 'react-dom',
            root: 'ReactDOM'
        }
    }
};

【问题讨论】:

  • resolve.extensions 中将js 更改为.js
  • 谢谢......那是我生命中的 30 分钟,我永远不会回来......你是我的英雄
  • 您可以将其作为答案并接受吗?
  • 该评论的作者是否必须将其作为答案移动?或者我可以做吗?

标签: reactjs typescript webpack flux ts-loader


【解决方案1】:

您的resolve.extensions 部分有误。 js 文件的扩展名必须以点开头:

resolve: {
    extensions: ['', 'webpack.js', '.web.js', '.js', '.ts', '.tsx']
},

所以,js 模块无法解析。

【讨论】:

    猜你喜欢
    • 2016-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-23
    • 1970-01-01
    • 2019-03-19
    • 2017-06-30
    • 2015-11-04
    相关资源
    最近更新 更多