我對JSLand和React很新。我有超過10年的Python和燒瓶,主要關注後端和非常少的HTML + JS,但零CSS。我在6周前開始了反應和js,並使用反應來製作簡單的應用程序,這不需要太多樣式。但是,現在我需要使用React使用釦眼進行造型,才能製作體面大小的項目。反應 - 樣板+墊圈,使與webpack sass工作
我從反應樣板1開始。在閱讀react-boilerplate scss docs和//github.com/grommet/grommet-standalone自述文件後,我的理解是,我需要對webpack config進行更改才能使scss加載程序正常工作。
我ENV是win8.1 64,節點6.4.0
這是我改變。
安裝兩個
sass-loader
&node-sass
- 在
internals\webpack\webpack.dev.babel.js
改變
cssLoaders: 'style-loader!css-loader?localIdentName=[local]__[path][name]__[hash:base64:5]&modules&importLoaders=1&sourceMap!postcss-loader',
到
按照cssLoaders: 'style-loader!css-loader?localIdentName=[local]__[path][name]__[hash:base64:5]&modules&importLoaders=1&sourceMap!postcss-loader!sass-loader',
通知附加!SASS裝載機//github.com/mxstbr/react-boilerplate/blob/master/docs/css/sass.md
增加了以下到
internals\webpack\webpack.base.babel.js
{ test: /\.scss$/, loader: 'style!css!sass?outputStyle=compressed' }
在同一個文件中
resolve.extenstions
陣列加入'.scss'
。現在,這些更改後,我運行NPM啓動,以下行添加到
app\containers\App\index.js
現在,這些更改後,我運行NPM啓動,並添加下面一行到App \容器\軟件\ index.jsimport 'grommet/scss/vanilla/index';
@只是的CSS塊下方管線40,和
sassLoader: {
includePaths: [
'./node_modules',
// this is required only for NPM < 3.
// Dependencies are flat in NPM 3+ so pointing to
// the internal grommet/node_modules folder is not needed
'./node_modules/grommet/node_modules'
]
}
@line 62 [第58行,如果你正在看@ @ github源代碼在master分支//github.com/mxstbr/react-boilerplate/blob/master/internals/webpack/webpack.base.babel.js,+圖4是因爲加入4-線SCSS塊]的
按這裏//github.com/grommet/grommet-standalone
在cmd中的文檔。exe控制檯我得到以下錯誤
ERROR in ./app/containers/App/index.js
Module not found: Error: Can't resolve 'grommet/scss/vanilla/index' in 'C:\Users\coder\frontend\app\containers\App'
@ ./app/containers/App/index.js 57:0-36
@ ./app/app.js
@ multi main
Child html-webpack-plugin for "index.html":
不用說,安裝孔眼和文件是存在於scss extesion resired位置。我可以ofcourse與擴展作爲import 'grommet/scss/vanilla/index.scss
導入然後我得到我已經用盡了我的谷歌賦技巧以下錯誤
ERROR in ./~/css-loader!./~/style-loader!./~/css-loader!./~/sass-loader?outputStyle=compressed!./~/grommet/scss/vanilla/index.scss Module build failed: Unknown word (5:1)
3 | // load the styles 4 | var content = require("!!./../../../css-loader/index.js!./../../../sass-loader/index.js?outputStyle=compressed!./index.scss");
> 5 | if(typeof content === 'string') content = [[module.id, content, '']];
|^ 6 | // add the styles to the DOM 7 | var update = require("!./../../../style-loader/addStyles.js")(content, {}); 8 | if(content.locals) module.exports = content.locals;
@ ./~/grommet/scss/vanilla/index.scss 4:14-189 13:2-17:4 14:20-195
糾正this.Is有什麼很明顯的,我在這裏失蹤?它看起來好像scss加載程序不工作。任何方向都將非常有幫助。如果您已成功使用反應-樣板索環,請發表您所做的更改。
PS:SO告訴我,我不能發佈兩個以上的鏈路,所以我修改了鏈接ommit HTTPS:從網址,請手動添加這些,遺憾的麻煩。