54sword / xiaoduyu.com

🐟小度鱼 - 年轻人的交流社区 https://www.xiaoduyu.com
598 stars 148 forks source link

node.js 是怎么渲染 带有 @import 的scss文件的? #25

Closed peytonCK closed 7 years ago

peytonCK commented 7 years ago

node.js 是怎么渲染 带有 @import 的scss文件的?


/Users/gpd/work/h5-react1/node_modules/babel-core/lib/transformation/file/index.js:590
      throw err;
      ^

SyntaxError: /Users/gpd/work/h5-react1/app/scss/page/home.scss: Unexpected token (1:0)
> 1 | @import '../sassCore/_base.scss';
    | ^
    at Parser.pp$5.raise (/Users/gpd/work/h5-react1/node_modules/babylon/lib/index.js:4454:13)
54sword commented 7 years ago

https://github.com/css-modules/css-modules-require-hook 用的这个

peytonCK commented 7 years ago

require('babel-register'); require('babel-polyfill'); require('css-modules-require-hook/preset');

我已经安装并且使用了,但是还会报如上错误

是还需要其他设置吗?

peytonCK commented 7 years ago

没有通过webpack进行编译吧?

54sword commented 7 years ago

还需要配置这个文件 https://github.com/54sword/xiaoduyu.com/blob/master/cmrh.conf.js

webpack也需要配置 https://github.com/54sword/xiaoduyu.com/blob/master/webpack.development.config.js

      {
        test: /\.scss$/i,
        loader: ExtractTextPlugin.extract('style',
          `css?modules&importLoaders=1&localIdentName=${config.class_scoped_name}!resolve-url!sass`),
        include: path.resolve(__dirname, 'src')
      }

时间有点久了,记的不是特别清楚,你先试一试

peytonCK commented 7 years ago

感谢,正解。