Error: Cannot resolve module 'style-loader'
Error: Cannot resolve module 'style-loader'
我正在将 style-loader 与 webpack 和 React 框架一起使用。当我在终端中 运行 webpack 我在 import.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
。
错误状态:
Module not found: Error: Cannot resolve module 'style-loader'
名为 "style-loader" 的 模块 未解析。
您需要安装该模块:
$ npm install style-loader --save
或者,如果您使用的是纱线:
$ yarn add style-loader
然后 运行 再 webpack
。
如果你 node_modules 与你的 webpack 配置文件在同一个目录下,你可以简单地添加 context: __dirname
.
module.exports = {
context: __dirname,
entry: [
...
(适用于 webpack 1 和 2)
我想补充一下 David Guan 所说的内容。在较新版本的 Webpack (V2+) 中,moduleDirectories
已替换为 modules
。他的答案的更新 resolve
部分如下所示:
resolve: {
extensions: ['.js', '.jsx', '.css'], //An empty string is no longer required.
modules: [
'node_modules'
]
}
有关更多信息,您可以查看他们的 official documentation。希望这可以帮助那里的人。
在 Webpack 3 下,node_module
在非标准位置,我不得不同时使用 resolve
和 resolveLoader
配置对象:
resolve: {
modules: ["build-resource/js/node_modules"]
},
resolveLoader: {
modules: ["build-resource/js/node_modules"]
},
我使用 Windows 并做了所有的事情,但没有任何效果。控制台似乎没有足够的权限。因此,在 运行 进入管理员模式后,我 re-entered
npm install
一切正常。在node_modules目录下出现了很多模块就可以看到结果了。
很简单,你必须安装第一个 syle-loader css-loader。
我正在将 style-loader 与 webpack 和 React 框架一起使用。当我在终端中 运行 webpack 我在 import.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
。
错误状态:
Module not found: Error: Cannot resolve module 'style-loader'
名为 "style-loader" 的 模块 未解析。
您需要安装该模块:
$ npm install style-loader --save
或者,如果您使用的是纱线:
$ yarn add style-loader
然后 运行 再 webpack
。
如果你 node_modules 与你的 webpack 配置文件在同一个目录下,你可以简单地添加 context: __dirname
.
module.exports = {
context: __dirname,
entry: [
...
(适用于 webpack 1 和 2)
我想补充一下 David Guan 所说的内容。在较新版本的 Webpack (V2+) 中,moduleDirectories
已替换为 modules
。他的答案的更新 resolve
部分如下所示:
resolve: {
extensions: ['.js', '.jsx', '.css'], //An empty string is no longer required.
modules: [
'node_modules'
]
}
有关更多信息,您可以查看他们的 official documentation。希望这可以帮助那里的人。
在 Webpack 3 下,node_module
在非标准位置,我不得不同时使用 resolve
和 resolveLoader
配置对象:
resolve: {
modules: ["build-resource/js/node_modules"]
},
resolveLoader: {
modules: ["build-resource/js/node_modules"]
},
我使用 Windows 并做了所有的事情,但没有任何效果。控制台似乎没有足够的权限。因此,在 运行 进入管理员模式后,我 re-entered
npm install
一切正常。在node_modules目录下出现了很多模块就可以看到结果了。
很简单,你必须安装第一个 syle-loader css-loader。