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
。