错误:无法解析模块“样式加载器”
Error: Cannot resolve module 'style-loader'
我正在使用带有 webpack 和 react 框架的 style-loader。当我在终端中运行 webpack 时,尽管我正确指定了文件路径,但我在导入.js文件中得到了Module not found: Error: Cannot resolve module 'style-loader'
。
import '../css/style.css';
import React from 'react';
import ReactDOM from 'react-dom';
import jQuery from 'jquery';
import TopicsList from '../components/topic-list.jsx';
import Layout from '../components/layout.jsx';
webpack.config.js:
var webpack = require('webpack');
var path = require('path');
var BUILD_DIR = path.resolve(__dirname, 'build');
var APP_DIR = path.resolve(__dirname, 'build');
module.exports = {
entry: [
// Set up an ES6-ish environment
'babel-polyfill',
// Add your application's scripts below
APP_DIR + '/import.js'
],
output: {
path: BUILD_DIR,
filename: 'bundle.js'
},
module: {
loaders: [
{
test: /'.jsx?$/,
loader: 'babel',
exclude: /node_modules/,
query: {
plugins: ['transform-runtime'],
presets: ['es2015', 'stage-0', 'react']
}
},
{ test: /'.css$/, loader: "style-loader!css-loader" }
],
resolve: {
extensions: ['', '.js', '.jsx', '.css']
}
}
};
尝试运行下面的脚本:
npm install style-loader --save
修改 webpack 配置,在 resolve
中添加modulesDirectories
字段。
resolve: {
extensions: ['', '.js', '.jsx', '.css'],
modulesDirectories: [
'node_modules'
]
}
请运行此脚本:
npm install style-loader css-loader --save
按如下方式设置模块:
module: {
loaders: [
{
test: /'.jsx?$/,
loader: 'babel-loader',
include: path.join(_dirname, 'app')
},
{
test: /'.css$/,
loader: 'style-loader!css-loader'
}
],
resolve: {
extensions: ['', '.js', '.jsx', '.css']
}
}
它基本上是加载器阅读 - 使用 babel-loader 测试 jsx,下一个测试是使用 style-loader 和 css-loader 的 css 文件,它将识别模块。另外,你应该退出npm start,运行"npm install"并运行"npm start"。希望这应该解决这个问题。
如果您尝试导入包含以下行的 css 文件:
import '../css/style.css';
并在您的 webpack 配置中添加了style-loader
。
错误指出:
找不到模块:错误:无法解析模块"样式加载程序"
名为"样式加载器"的模块未解析。
您需要使用以下命令安装该模块:
$ npm install style-loader --save-dev
或者,如果您使用的是纱线:
$ yarn add style-loader -D
然后再次运行webpack
。
补充一下David Guan所说的话。在较新版本的 Webpack (V2+) 中,moduleDirectories
已被替换为 modules
。他的回答的更新resolve
部分如下所示:
resolve: {
extensions: ['.js', '.jsx', '.css'], //An empty string is no longer required.
modules: [
'node_modules'
]
}
有关更多信息,您可以查看他们的官方文档。希望这对那里的人有所帮助。
在 Webpack 3 下,由于 node_module
位于非标准位置,我必须同时使用 resolve
和resolveLoader
配置对象:
resolve: {
modules: ["build-resource/js/node_modules"]
},
resolveLoader: {
modules: ["build-resource/js/node_modules"]
},
我使用Windows并做了所有事情,但没有任何效果。控制台似乎没有足够的权限。因此,在以管理员模式运行后,我重新进入
npm install
一切都奏效了。您可以通过node_modules目录中显示大量模块来查看结果。
如果您node_modules与 webpack 配置文件位于同一目录上,您只需添加 context: __dirname
即可
module.exports = {
context: __dirname,
entry: [
...
(适用于 webpack 1 和 2)
删除'style-loader!css-loader',让它成为['style-loader','css-loader']从扩展数组中删除空字符串 ''。它看起来像风箱
module:{
rules:[
{test:/'.css$/,use:['style-loader','css-loader']},
]
},
resolve: {
extensions: ['.js', '.jsx', '.css'],
},
你必须添加到你的依赖项
中npm i style-loader css-loader
你必须安装第一个syle-loader和css-loader。
- 跟踪在页面加载时应用内联样式的JavaScript
- DataTables-创建自定义分页样式(加载更多样式)
- 对插件初始化后动态加载的元素进行样式设置
- jQuery Mobile样式从另一个文件加载内容
- 避免在用ng href加载样式表之前显示内容
- 在不同的域上动态加载样式表;不适用于Firefox
- 如何在javascript调用后重新加载样式
- 重新加载样式表,而不使用 javascript/jQuery 闪烁未设置样式的内容
- 第一次在现场Jquery加载样式
- Sass 加载器不加载样式
- 如何获取加载样式表的内容
- Jquery 循环在第一次加载时未正确加载样式
- 使用回调在 Chrome 中动态加载样式表
- Mapbox react原生can't加载样式
- 如何防止从本地存储加载样式表时呈现css
- 我可以用Aglio重新加载样式、模板和变量吗?
- 动态加载样式表时,cssRules显示为空
- 表达JS部分不加载样式表
- TinyMCE:通过使用链接标签手动加载样式表
- 预加载样式表而不在页面上执行它