javascript - css-loader引入样式文件以后,导致webpack打包js报错
黄舟
黄舟 2017-04-11 10:01:01
[JavaScript讨论组]

Error/index.js就是文件引入样式文件,webpack打包以后生成的文件当中js代码的最后一段会被重复,导致js报错,不能运行,如图

但是,如果我重新保存一下<Router>文件,触发路由文件的重新打包,问题就能修复。但是,如果重新开启服务,问题会在次出现

被重复的代码

` diff: false,

  diffPredicate: undefined,

  // Deprecated options
  transformer: undefined
};
module.exports = exports['default'];

/*/ }
// ]);d,

  // Deprecated options
  transformer: undefined
};
module.exports = exports['default'];

/*/ }
// ]);`

Error/index.js文件代码

import React from 'react';

import CSSModules from 'react-css-modules';
import styles from './Error.css';
import img404 from './404.png';
import { browserHistory } from 'react-router';

class Error extends React.Component {
    goHome = () => {
        browserHistory.push('/test1');
    }

    render() {
        let errorImg = img404;
        let errorTxt = '';

        return (
            <p styleName="lottery_error">
                <p styleName="error_img">
                    <img src={ errorImg } />
                </p>
                <p>{ errorTxt }</p>
                <p styleName="btn_wrap">
                    <a styleName="btn_submit" href="javascript:;" onClick={ this.goHome }>返回首页</a>
                </p>
            </p>
        );
    }
}

export default CSSModules(Error, styles);

webpack的配置文件代码

{
    entry: {
        index: "./js/toDoList/App.js"
    },
    output: {
        path: "dist/js/",
        publicPath: "dist/js/",
        filename: "[name].js",
        chunkFilename: "[name].js"
    },
    module: {
        loaders: [{
            test: /\.js$/,
            loader: "babel",
            query: {
                presets: ['react', 'es2015', 'stage-2']
            }
        },{
            test: /\.css$/,
            loader: 'style!css?modules&importLoaders=1&localIdentName=[name]__[local]___[hash:base64:5]'
        },{
            test: /\.(png|jpg|jpeg|gif|svg|woff|woff2|ttf|eot)$/,
            loader: 'file'
        }]
    }
}

css代码

.lottery_error{}

在最后贴上package.json

{
  "name": "webpacktest",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "babel-core": "^6.17.0",
    "babel-loader": "^6.2.5",
    "babel-preset-es2015": "^6.16.0",
    "babel-preset-react": "^6.16.0",
    "babel-preset-stage-2": "^6.18.0",
    "css-loader": "^0.25.0",
    "file-loader": "^0.9.0",
    "react": "^15.3.2",
    "react-css-modules": "^3.7.10",
    "react-dom": "^15.3.2",
    "react-redux": "^4.4.5",
    "react-router": "^3.0.0",
    "redux": "^3.6.0",
    "redux-logger": "^2.7.4",
    "redux-thunk": "^2.1.0",
    "style-loader": "^0.13.1",
    "webpack": "^1.13.2"
  }
}
黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(1)
黄舟

问题解决了哦,这应该是webpack的一个bug,坑了我好多天啊。。。。

问题就出在上图中的回调函数A,和文件监控功能B,不能同时存在!!!删除其中任何一个就能正确打包样式文件。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号