0

をインポートするときに、スーパーの式は未定義、nullまたは関数ではありませんいずれかでなければなりません、私はファイルinitialize.jsに次き:WebPACKのは例外TypeError:LESSファイル

私が持っている webpack.config.js
import App from './components/App'; 

import './styles/application.less'; 

document.addEventListener('DOMContentLoaded',() => { 
    const app = new App(); 

    app.start(); 
}); 

'use strict'; 

const path = require('path'); 

const webpack = require('webpack'); 
const merge = require('webpack-merge'); 

const ProvidePlugin = webpack.ProvidePlugin; 
const ModuleConcatenationPlugin = webpack.optimize.ModuleConcatenationPlugin; 
const ExtractTextPlugin = require('extract-text-webpack-plugin'); 
const CopyWebpackPlugin = require('copy-webpack-plugin'); 

const extractLess = new ExtractTextPlugin({ 
    filename: 'app.css', 
}); 

const webpackCommon = { 
    entry: { 
     app: ['./app/initialize'] 
    }, 
    module: { 
     rules: [{ 
      test: /\.js$/, 
      exclude: /node_modules/, 
      use: [{ 
       loader: 'babel-loader?presets[]=es2015' 
      }] 
     }, { 
      test: /\.hbs$/, 
      use: { 
       loader: 'handlebars-loader' 
      } 
     }, { 
      test: /\.less$/, 
      exclude: /node_modules/, 
      use: extractLess.extract({ 
       use: [{ 
        loader: 'css-loader' 
       }, { 
        loader: 'less-loader' 
       }], 
       // use style-loader in development 
       fallback: 'style-loader' 
      }), 
     }] 
    }, 
    output: { 
     filename: 'app.js', 
     path: path.join(__dirname, './public'), 
     publicPath: '/' 
    }, 
    plugins: [ 
     extractLess, 
     new CopyWebpackPlugin([{ 
      from: './app/assets/index.html', 
      to: './index.html' 
     }]), 
     new ProvidePlugin({ 
      $: 'jquery', 
      _: 'underscore' 
     }), 
     new ModuleConcatenationPlugin(), 
    ], 
}; 

module.exports = merge(webpackCommon, { 
    devtool: '#inline-source-map', 
    devServer: { 
     contentBase: path.join(__dirname, 'public'), 
     compress: true, 
     port: 9000 
    } 
}); 

プラグインとapplication.lessの内容を削除しようとしましたが、このエラーが続いています。

ERROR in ./node_modules/css-loader!./node_modules/less-loader/dist/cjs.js!./app/styles/application.less 

Module build failed: TypeError: Super expression must either be null or a function, not undefined 
at ... 
@ ./app/styles/application.less 4:14-127 
@ ./app/initialize.js 

LESSファイルをCSSに置き換えて設定を更新すると問題なく動作しますので、問題はless-loaderと関係があります。私はWebPACKの3.4.1、スタイルローダー0.18.2、LESSローダー4.0.5を使用してい

は、テキストWebPACKのプラグイン3.0.0を抽出し、CSSローダーcss-loader

答えて

1

私の悪い、私は古いlessバージョンを使用していたことに気付かなかった。それが原因でした。ちょうど2.7.2に更新され、問題はなくなりました。

関連する問題