繁体   English   中英

webpack 配置警告和错误:“模块解析失败”

[英]webpack configuration warnings and errors: "module parse failed"

我正在尝试使用 MEAN 堆栈构建一个简单的应用程序,但我遇到了 Webpack 的问题。 当我从控制台运行“webpack”时,我收到以下警告和错误:

WARNING in ./~/require_optional/package.json
Module parse failed: C:\Build\myapp\node_modules\require_optional\package.json Unexpected token (2:9)
You may need an appropriate loader to handle this file type.

WARNING in ./~/require_optional/README.md
Module parse failed: C:\Build\myapp\node_modules\require_optional\README.md Unexpected character '#' (1:0)
You may need an appropriate loader to handle this file type.

WARNING in ./~/require_optional/LICENSE
Module parse failed: C:\Build\myapp\node_modules\require_optional\LICENSE Unexpected token (1:40)
You may need an appropriate loader to handle this file type.

ERROR in ./~/constants-browserify/constants.json
Module parse failed: C:\Build\myapp\node_modules\constants-browserify\constants.json Unexpected token (2:12)
You may need an appropriate loader to handle this file type.

所以我的问题是:

1. Webpack 是否应该尝试加载 README.md 和 LICENSE 之类的文件? 为什么会在意这些?

2. 我连接了一个 json-loader 并寻找 .json 文件,为什么我仍然收到有关这些文件的警告和错误?

这是我的 Webpack 配置文件:

webpack.config.js

var config = require('./environment/shared.js')
var debug = config.env !== 'production';
var webpack = require('webpack');

module.exports = {
    context: __dirname,
    devtool: debug ? 'inline-sourcemap' : null,
    entry: './public/js/app.js',
    output: {
        path: __dirname + '/public/js',
        filename: 'bundle.min.js',
    },
    plugins: debug ? [] : [
        new webpack.optimize.DedupePlugin(),
        new webpack.optimize.OccurenceOrderPlugin(),
        new webpack.optimize.UglifyJsPlugin({ mangle: false, sourcemap: false }),
    ],
    module: {
        loaders: [
            {
                test: '/\.json/',
                loader: 'json',
            },

            {
                test: '/\.node$/',
                loader: 'node-loader',
            },
        ],
    },
    resolve: {
        extensions: ['', '.js', '.json', '.node'],
    },
};

问题 1:我认为您的代码库中有如下内容。 即,需要一个名称在变量中的模块。 在这种情况下,webpack 并不确切知道您需要哪个模块,因此它将加载所有文件。

const moduleName = xxx const module = require(moduleName)

问题2:需要在module/loaders添加{ test: /\\.json$/, loader: "json" }来加载json文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM