webpack打包时, ress.min.css和normalize.css报错
本文介绍了webpack打包时, ress.min.css和normalize.css报错的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
报错如下:
webpack.config.js如下:
var webpack = require('webpack');
var path = require('path');
var ExtractTextPlugin = require('extract-text-webpack-plugin');
var HtmlWebpackPlugin = require('html-webpack-plugin');
// NodeJS中的Path对象,用于处理目录的对象,提高开发效率。
// 模块导入
module.exports = {
// 入口文件地址,不需要写完,会自动查找
entry: {
app: './src/client/main',
// vendor: ['vue'],
},
// 输出
output: {
path: "build",
// 文件地址,使用绝对路径形式
filename: 'dist/[name]-[chunkHash:8].js',
//[name]这里是webpack提供的根据路口文件自动生成的名字
// publicPath: './dist/'
publicPath: '.'
// 公共文件生成的地址
},
// 服务器配置相关,自动刷新!
devServer: {
historyApiFallback: true,
hot: false,
inline: true,
grogress: true,
},
// 加载器
module: {
// 加载器
loaders: [
// 解析.vue文件
{ test: /\.vue$/, loader: 'vue' , exclude: /node_modules/},
// 转化ES6的语法
{ test: /\.js$/, loader: 'babel', exclude: /node_modules/ },
// 编译css并自动添加css前缀
{ test: /\.css/, loader: ExtractTextPlugin.extract("style-loader", "css-loader!autoprefixer-loader") , exclude: /node_modules/},
// 图片转化,小于8K自动转化为base64的编码
{ test: /\.(png|jpg|gif)$/, loader: 'url-loader?limit=8192&name=./img/[name]-[chunkHash:8].[ext]' , exclude: /node_modules/},
//html模板编译?
{ test: /\.(html|tpl)$/, loader: 'html-loader' , exclude: /node_modules/},
]
},
// 转化成es5的语法
vue: {
loaders: {
css: ExtractTextPlugin.extract('vue-style-loader', "css-loader"),
stylus: ExtractTextPlugin.extract('vue-style-loader', "css-loader!stylus-loader"),
less: ExtractTextPlugin.extract('vue-style-loader', "css-loader!less-loader")
}
},
// 转化成es5的语法
babel: {
presets: ['es2015'],
plugins: ['transform-runtime']
},
resolve: {
// require时省略的扩展名,如:require('module') 不需要module.js
extensions: ['', '.js', '.vue'],
// 别名,可以直接使用别名来代表设定的路径以及其他
alias: {
filter: './src/client/filters',
components: './src/client/components'
}
},
//- 生产环境
plugins: [
new ExtractTextPlugin("dist/[name]-[chunkHash:8].css"),
new webpack.optimize.UglifyJsPlugin({
compress: {
warnings: false
}
}),
new HtmlWebpackPlugin({
template: 'index-template.ejs',
// excludeChunks : ['manifest']
}),
// new webpack.optimize.CommonsChunkPlugin({
// names: ['vendor', 'vendor.js', 'manifest'],
// })
]
};
报的错误发现是用acorn这个包解析的css, 可是在为什么不用config文件中style-loader来解析, 谢谢!
解决方案
...
{ test: /\.css/, loader: ExtractTextPlugin.extract("style-loader", "css-loader!autoprefixer-loader") , exclude: /node_modules/}
...
这一行, exclude 了 node_modules, 于是你 import /node_modules/ress/dist/ress.min.css 的时候,不会使用 css-loader 进行解析,所以就报错了。
你可以先把exclude: /node_modules/
去掉试试,最后使用include
来解决问题。
这篇关于webpack打包时, ress.min.css和normalize.css报错的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文