首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将我的React Native Storybook构建到web?

如何将我的React Native Storybook构建到web?
EN

Stack Overflow用户
提问于 2020-03-16 03:28:30
回答 1查看 1.2K关注 0票数 5

我运行的是React Native Storybook,它在本地模拟器中运行Storybook。

除了React Native Storybook目前的工作原理之外,我还想为web构建一个它的实例,作为我们应用程序的参考伙伴。

我正在使用"@storybook/react-native": "5.3.14"。我的故事位于./storybook

EN

回答 1

Stack Overflow用户

发布于 2020-03-16 03:28:30

在项目根目录下,从npm安装react-native-web@storybook/reactbabel-plugin-react-native-web

为Storybook添加一个新的配置目录,比如./.storybook-website。在此目录中,添加main.js。否则,此创建将由Storybook安装向导完成。

代码语言:javascript
复制
my-app
├── .storybook-website
│   └── main.js
└── // .... rest of your app

将以下内容添加到main.js中:

代码语言:javascript
复制
module.exports = {
  stories: ['../storybook/stories/index.js'],
  webpackFinal: async (config) => {
    config.resolve.alias = {
      ...(config.resolve.alias || {}),
      // Transform all direct `react-native` imports to `react-native-web`
      'react-native$': 'react-native-web',
      // make sure we're rendering output using **web** Storybook not react-native
      '@storybook/react-native': '@storybook/react',
      // plugin-level react-native-web extensions
      'react-native-svg': 'react-native-svg/lib/commonjs/ReactNativeSVG.web',
      // ... 
    };
    // mutate babel-loader
    config.module.rules[0].use[0].options.plugins.push(['react-native-web', { commonjs: true }]);
    // console.dir(config, { depth: null });
    return config;
  },
};

将main.js中的stories路径更新为现有根故事的位置。

最后,将运行脚本添加到package.json中:

代码语言:javascript
复制
"storybook:web": "start-storybook -p 6006 --config-dir ./.storybook-website",
"storybook-build:web": "build-storybook --config-dir ./.storybook-website --output-dir dist-storybook-website --quiet"

太好了!使用yarn storybook:web运行。这将运行storybook dev server,打开一个浏览器,显示您通常在设备仿真器中看到的内容。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60696774

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档