1

https://github.com/shama/stylus-loader

Webpack-dev-server で次のエラーが表示されます。

ERROR in ./src/styles/header.styl
Module parse failed: /Users/andrew_krueger/code/portal/src/styles/header.styl Unexpected token (1:0)
You may need an appropriate loader to handle this file type.
SyntaxError: Unexpected token (1:0)

そのため、正しく構成されていないstylus-loaderか、問題があるようです。

ファイル構造

.
├── LICENSE
├── README.md
├── build
│   └── bundle.js
├── index.html
├── package.json
├── src
│   ├── components
│   │   ├── Canvas.jsx
│   │   ├── Container.jsx
│   │   ├── Header.jsx
│   │   └── Portal.jsx
│   ├── main.jsx
│   └── styles
│       └── header.styl
├── webpack.config.js
└── webpack.config.production.js

Webpack 構成

const Visualizer = require('webpack-visualizer-plugin')

module.exports = {
    plugins: [
        new Visualizer()
    ],
    devtool: 'eval-source-map',
    entry: './src/main.jsx',
    output: {
        path: './build',
        filename: 'bundle.js'
    },
    module: {
        preloaders: [{
            test: /\.jsx?$/,
            exclude: /node_modules/,
            loader: 'eslint'
        }],
        loaders: [{
            test: /\.jsx?$/,
            exclude: /node_modules/,
            loader: 'babel'
        },
        {
            test: /\.styl$/,
            exclude: /node_modules/,
            loaders: ['style', 'css', 'stylus']
        }]
    },
}

header.styl

.green
    color: green

ヘッダー.jsx

import React from 'react'

require('../styles/header.styl')

const Header = () =>
    <div className="green">Header</div>

export default Header

いくつかの変更を加えることで、通常の CSS を機能させることができます。

ファイル構造header.stylに名前を 変更header.css

Webpack 構成

{
  test: /\.css$/,
  exclude: /node_modules/,
  loaders: ['style', 'css']
}

header.styl

.green {
    color: green
};

ヘッダー.jsx

require('../styles/header.css')

ノード モジュール

├── autoprefixer@6.3.7
├── ava@0.15.2
├── babel-loader@6.2.4
├── babel-preset-es2015@6.9.0
├── babel-preset-react@6.11.1
├── css-loader@0.23.1
├── UNMET PEER DEPENDENCY eslint@3.2.0
├── eslint-config-airbnb@9.0.1
├── eslint-loader@1.5.0
├── eslint-plugin-import@1.12.0
├── UNMET PEER DEPENDENCY eslint-plugin-jsx-a11y@2.0.1
├── eslint-plugin-react@5.2.2
├── extract-text-webpack-plugin@1.0.1
├── jeet@6.1.4
├── postcss-loader@0.9.1
├── precss@1.4.0
├── react@15.3.0
├── react-dom@15.3.0
├── style-loader@0.13.1
├── stylus@0.54.5
├── stylus-loader@2.1.2
├── webpack@1.13.1
├── webpack-dev-server@1.14.1
├── webpack-visualizer-plugin@0.1.5
└── yeticss@7.3.0
4

0 に答える 0