我正在编写一个我希望在我的项目中需要的外部模块(react-list)
我的模块是一个反应组件,显然我把它放在我的文件顶部
var React = require('react');
我正在使用npm链接,并且在我的项目中我收到来自webpack的错误,该错误在node_modules目录内部不存在于外部模块内部
ERROR in /web/react-list/dist/List/List.js
Module not found: Error: Cannot resolve module 'react' in /web/react-list/dist/List
为什么不需要我的项目node_modules目录中的react组件?
编辑:添加了我的webpack,不得不编辑文件和目录
'use strict';
module.exports = {
context: __dirname,
entry: {
....
},
output: {
path: '../public/js/pages',
filename: "[name].js"
},
devtool: 'source-map',
resolve: {
modulesDirectories: ["node_modules", ......],
extensions: ['', '.js', '.jsx']
},
plugins: [],
module: {
loaders: [
{
test: /.jsx?$/,
loader: 'babel-loader',
exclude: /node_modules/,
query: {
presets: ["react", "es2015-loose"]
}
}
]
}
};
编辑2:我找到了一个没有使用npm链接的解决方法,只是使用npm install安装所需的包,然后删除dist目录并用我自己的软链接替换它而没有npm的帮助。显然,这不是一种理想的发展方式。
编辑3:如果我尝试在我的包目录中安装依赖项,那么我到达可怕的引用必须有所有者问题https://facebook.github.io/react/warnings/refs-must-have-owner.html错误,所以它的这个包找不到反应目录,或者它确实没有找到另一个反应版本,没有任何作用...