尝试将CRA应用程序导入/转换为Razzle JS

时间:2019-05-19 20:45:22

标签: reactjs webpack sass create-react-app razzle

我是Razzle的新手,正在尝试学习它。我拿了Material-UI dashboard app,并试图将其“导入”或“转换”到我的空白应用中。

我在正确的位置将CRA应用程序./src的内容复制到了我的喧闹源中,并引用了正确的组件等。

起初,Razzle不喜欢CRA存储库中的@import语句。我通过使用npm安装razzle-plugin-scss来解决此问题,这使我摆脱了这个问题。但是现在我遇到了我根本不了解的东西(甚至不知道如何找到解决方案):

{ Error: Cannot find module 'css-loader/locals'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:649:15)
    at Function.resolve (internal/modules/cjs/helpers.js:19:19)
    at module.exports (/home/user/my-project/node_modules/razzle-plugin-scss/index.js:106:31)
    at runPlugin (/home/user/my-project/node_modules/razzle/config/runPlugin.js:26:10)
    at plugins.forEach.plugin (/home/user/my-project/node_modules/razzle/config/createConfig.js:549:16)
    at Array.forEach (<anonymous>)
    at module.exports (/home/user/my-project/node_modules/razzle/config/createConfig.js:548:13)
    at main (/home/user/my-project/node_modules/razzle/scripts/start.js:48:22)
    at processTicksAndRejections (internal/process/next_tick.js:81:5) code: 'MODULE_NOT_FOUND' }

我看着css-loader,发现您(也许是?)需要指示它使用exportOnlyLocals: true webpack指令导出本地语言。我不确定如何在Razzle中做到这一点。我发现this page展示了一个如何通过razzle.config.js进行配置的示例,但是它假设我比我拥有更多的知识。

我如何在Razzle中配置webpack以...执行某些操作? ...告诉底层的webpack插件css-loader加载本地语言?

非常感谢您的帮助。

更新

这似乎是由于css-loader移至v2.0.0时发生的重大更改引起的。我仍然不知道解决方案是什么,但这使我离得更近。

1 个答案:

答案 0 :(得分:0)

我最终恢复为RewriteRule ^folder/(.*)$ /$1 [L,R=301] 版本css-loader来解决此问题。