0

Webpack に移行する TypeScript で記述された OS プロジェクトがあります。

ただし、このエラーのため、現在プロジェクトをビルドできません

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');
  • 別のインポート構文を試してみましたが役に立ちませんでした
  • resolve.aliasのセクションを追加しようとしましたflux/utils: 'ABSOLUTE_PATH'

ファイルは間違いなくその下node_modulesに存在し、私が依存している他のライブラリはうまくバンドルされているようです

どんな助けでも大歓迎です...

webpack.config.jsレポからここに再現

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'
        }
    }
};
4

1 に答える 1

2

セクションに誤植がありますresolve.extensions。ファイルの拡張子名はjsドットで始まる必要があります:

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

そのため、js モジュールを解決できませんでした。

于 2016-03-20T14:54:38.330 に答える