Webpack找不到模块'jquery-form-styler'

时间:2018-07-22 13:53:50

标签: javascript webpack

在webpack的配置文件中,我将'node_modules'和'src / js / libs'设置为文件夹,其中webpack应该在其中查找模块。 “ jquery-form-styler”是通过npm安装的,位于“ node_modules”中,但是根据第一个错误,webpack尝试在“ src / js / modules”中查找模块。为什么?

ERROR in ./src/js/modules/forms.js
Module not found: Error: Can't resolve 'jquery-form-styler' in '/Users/ildar.meyker/Sites/html-taxnet/src/js/modules'
 @ ./src/js/modules/forms.js 5:0-28
 @ ./src/js/modules/app.js
 @ ./src/js/main.js

我的webpack.config.js内容:

const path = require('path');
const webpack = require('webpack');

module.exports = {
    mode: 'development',
    entry: {
        main: './src/js/main.js',
        metrics: './src/js/metrics.js'
    },
    output: {
        filename: '[name].bundle.js',
        path: path.resolve(__dirname, 'public/js')
    },
    resolve: {
        modules: [path.resolve(__dirname, 'src/js/libs'), 'node_modules']
    },
    plugins: [
        new webpack.IgnorePlugin(/^\.\/locale$/, /moment$/),
    ],
    optimization: {
        splitChunks: {
            chunks: "all",
            minSize: 0
        }
    }
};

我的文件结构:

/node_modules/
/src/
    js/
      libs/
      modules/
             app.js
             ...
             forms.js
             ...
      main.js
      metrics.js

forms.js开始于:

import $ from 'jquery';
import 'jquery.maskedinput';
import 'jquery-validation/jquery.validate';
import 'jquery-validation/additional-methods';
import 'jquery-form-styler';

...

“ jquery”和“ jquery-form-styler”位于“ node_modules”中,而其他模块位于“ src / js / libs”中。

1 个答案:

答案 0 :(得分:0)

好像不是webpack引用“ src / js / modules”,因为它试图在该文件夹中查找模块。发生错误,因为'jquery-form-styles'中的package.json具有不正确的main属性。 “ jquery.formstyler.min.js”而不是“ ./dist/jquery.formstyler.min.js”。