我已经确认了100%,尽管我无法区分node_modules来确定如何。但这是问题所在。
版本:
"react": "^16.6.3",
"react-dom": "^16.6.3",
"mobx": "^5.6.0",
"mobx-react": "^5.4.2"
"devDependencies": {
"@storybook/addon-actions": "^4.0.9",
"@storybook/addon-knobs": "^4.0.9",
"@storybook/addon-links": "^4.0.9",
"@storybook/addon-notes": "^4.0.8",
"@storybook/react": "^4.0.9"
}
在安装故事书之前运行npm run start
时,我的应用程序运行,其中有大量的@observable用法。在这一点上,没有一个可观察的对象是不确定的,这是很好的并且是可以预期的。
我运行npm i --save-dev @storybook/react @storybook/addon-notes @storybook/addon-links @storybook/addon-actions @storybook/addon-knobs
,然后再次运行npm run start
,我完全无法编译错误。在我的AppStore.js(我无法透露)中,我使用@observable装饰器作为未定义变量的源。失败消息显示了所有这些变量,并在其他两个组件中将@observable声明为@observable,并将其声明为undefined。
我不明白添加故事书如何在运行时破坏MobX或MobX反应。如果有的话,我会认为会导致错误的是npm run storybook
。我以为可能是因为.storybook目录中的webpack.config.js,但我不确定。
此外,对于任何认为问题是babel插件的人,事实并非如此。我以正确的顺序正确使用了它:
"babel": {
"plugins": [
"transform-decorators-legacy"
],
"presets": [
"react-app"
]
},
最后,当我运行npm uninstall --save-dev @storybook/react @storybook/addon-notes @storybook/addon-links @storybook/addon-actions @storybook/addon-knobs
运行npm run start
很好!
我将在这里尝试回答我自己的问题。很难确定故事书中的node_modules中的哪些因素会影响webpack配置中Mobx的运行时。
请帮助或提出任何建议!