在React storybook自定义webpack配置中使用webpack ProvidePlugin

时间:2017-05-07 14:29:33

标签: reactjs webpack

我在React中构建了一个用于拖放的包装程序包,并添加了React个示例。 由于我的消费者React在全球范围内公开,因此我没有明确导入storybook

React示例中,我需要提供React作为自定义webpack配置的一部分,但由于某种原因,它无法解析ReferenceError: React is not defined而我得到了const webpack = require('webpack'); module.exports = { plugins: [ new webpack.ProvidePlugin({ React: 'react' }) ], module: { loaders: [ { test: /\.scss$/, loader: 'style!raw!sass' } ] } }; 1}}

这是包 - appeared

这是自定义webpack配置文件:

yourimage.animate().setAlpha(0f).setDuration(2000); 

2 个答案:

答案 0 :(得分:1)

这真的很奇怪,但你的故事书webpack.config.js正在混合webpack v1 / v2。 将webpack导入为

const webpack = require('@kadira/storybook/node_modules/webpack');

解决它,因为它使用了故事书正在使用的相同webpack引用(v1)。

答案 1 :(得分:0)

我在github的webpack.config.js中找到了以下代码:

externals: {
  react: 'React'
}

看起来像this question。如果它需要从外部加载React lib,比如CDN。页面必须确保有一个用于导入React lib的脚本标记。并确保此脚本标记位于bundle.js或webpack生成的文件的前面,因此当以下代码需要使用React时,将存在React的Object,例如:

<script src="./react.js"></script>
<script src="./bundle.js"></script>