我有一些可重用的React组件已发布到NPM,正在我的React应用程序中安装和使用。我可以在我的React应用程序中设置一个别名,该别名可以在这些NPM组件中使用吗?例如,我想允许在React组件中使用我的React App中的文件夹common
。因此,如果我在React组件中执行此操作,它将正常工作
import someVal from 'common';
我将这些React组件与Webpack捆绑在一起,并向下传递已编译的捆绑版本供React应用程序使用。我尝试在React应用程序Webpack配置中通过设置resolve.alias
的常规方式设置别名,但是它不起作用。能做到吗?还是我处理方法不正确?任何建议都会很棒,谢谢!
编辑:因此NPM的React组件位于我的node_modules
文件夹中,并且已经通过其自己的Webpack配置捆绑了。然后,我也通过我的React应用程序Webpack配置运行这些组件(我将该文件夹列入白名单),希望在那里将添加新的common
别名。但是没有运气。我不断得到
someVal is undefined
错误。
我的公共文件包含以下内容:暂时忽略逻辑(我仅发布部分代码)
import _myClass from '../components/MyClass';
const myClass = _myClass; // Other things are done to it
export default myClass;
在我的React组件Webpack捆绑文件中(修复了默认的import语句之后)
/* harmony import */ var common__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! common */ "./src/common/index.js");
...
return common__WEBPACK_IMPORTED_MODULE_25__["default"].myFunction({
...
});
这似乎仍然是在React组件包中寻找common
,而不是我试图在其中使用的React应用包中。