是在开发环境下出的这个问题,用的vue的框架,构建工具用的webpack,当我在.vue文件中 添加style
标签的时候,就会出现如下的错误
错误显示的是说没有找Cannot find module 'hash-sum'
。但是找了好久也不知道这个模块是什么,还提示我vue-style-loader的问题。 但是查看官方文档,说vue-style-loader是依附于style-loader的,并不需要显示安装,尽管这样 我为了安全起见又装了一次 但是还报错了。
我的webpack.config.js的文件
var path = require('path');
var webpack = require('webpack');
var ExtractWebpackPlugin = require('extract-text-webpack-plugin');
var HtmlWebpackPlugin = require('html-webpack-plugin');
var ManifestPlugin = require('webpack-manifest-plugin');
const ChunkManiFest = require('chunk-manifest-webpack-plugin');
var isProd = process.env.NODE_ENV === 'production';
console.log(process.env.NODE_ENV);
var cssDev = ['style-loader' , 'css-loader' , 'sass-loader'];
var cssProd = ExtractWebpackPlugin.extract({
fallback:"style-loader",
use:[
{
loader: "css-loader"
},
{
loader:"sass-loader"
}
]
});
var cssConfig = isProd ? cssProd : cssDev;
var filenameType = isProd ? 'js/[name].js' : 'js/[name].[chunkhash].js'
console.log(isProd);
module.exports = {
devtool:"cheap-eval-source-map",
entry:{
app:"./src/js/app.js",
vendor:['jquery' , 'react']
},
output:{
path:path.resolve(__dirname , 'dist'),
filename:'js/[name].js'
},
devServer:{
compress:true,
port:9999,
inline:true,
contentBase:"./src"
},
module:{
rules:[
{
test:/\.vue$/,
loader:"vue-loader",
exclude:/node_modules/,
// options:{
// loaders:{
// css:ExtractWebpackPlugin({
// loader:'css-loader',
// fallback:"vue-style-loader"
// })
// }
// }
},
{
test:/\.js$/,
exclude:/node_modules/,
loader:"babel-loader",
options:{
presets:['env'],
plugins:['transform-runtime']
}
}
{
test:/\.css$/,
use:cssConfig
}
]
},
plugins:[
]
}
hash-sum
是vue-style-loader
用到的依赖,链接,应该是使用scoped
属性时用来计算hash值的,安装一下问题应该就解决了。