У меня есть Webpack, настроенный для компиляции файлов .scss в .css и сбора всех файлов Javascript для объединения их в один файл.После сборки веб-пакета получено: «Uncaught SyntaxError: Неожиданный идентификатор» со всеми импортами, включенными в файл theme.js.Я также попытался добавить предустановку babel-es2015 в файл конфигурации, но, похоже, она не работает.Если я использую babel-cli для переноса theme.js в ES5, он переносит ES6-импорт по требованию, но тогда у меня возникают проблемы с использованием require на стороне клиента (попытался использовать require.js - не работает).
Версия веб-пакета: 1.15
Это базовая конфигурация веб-пакета для компиляции тем Prestashop, которую я использую:
var webpack = require('webpack');
var ExtractTextPlugin = require("extract-text-webpack-plugin");
var plugins = [];
plugins.push(
new ExtractTextPlugin('../css/theme.css')
);
module.exports = [{
// JavaScript
entry: [
'./js/theme.js'
],
output: {
path: '../assets/js',
filename: 'theme.js'
},
module: {
loaders: [{
test: /\.js$/,
exclude: /node_modules/,
loaders: ['babel-loader'],
}]
},
externals: {
prestashop: 'prestashop'
},
plugins: plugins,
resolve: {
extensions: ['', '.js']
}
}, {
// CSS
entry: [
'./css/theme.scss'
],
output: {
path: '../assets/css',
filename: 'theme.css'
},
module: {
loaders: [{
test: /\.scss$/,
loader: ExtractTextPlugin.extract(
"style",
"css-loader?sourceMap!postcss!sass-loader?sourceMap"
)
}, {
test: /\.styl$/,
loader: ExtractTextPlugin.extract(
"style",
"css-loader?sourceMap!postcss!stylus-loader?sourceMap"
)
}, {
test: /\.less$/,
loader: ExtractTextPlugin.extract(
"style",
"css-loader?sourceMap!postcss!less-loader?sourceMap"
)
}, {
test: /\.css$/,
loader: ExtractTextPlugin.extract(
'style',
'css-loader?sourceMap!postcss-loader'
)
}, {
test: /.(png|woff(2)?|eot|ttf|svg)(\?[a-z0-9=\.]+)?$/,
loader: 'file-loader?name=../css/[hash].[ext]'
}]
},
plugins: plugins,
resolve: {
extensions: ['', '.scss', '.styl', '.less', '.css']
}
}];