У меня есть 2 проекта webpack:
"c1" работает хорошо.
Но«Проект-1» не работает.Структура проекта-1:
| - узлы-модули| - расст| - источник| --- c1 ( символическая ссылка => c1 / src)| --- домой| - .babelrc| - package.json| - package-lock.json| - webpack.config.js
.babelrc
{
"plugins": ["@babel/plugin-proposal-class-properties"]
}
webpack.config.js
const path = require('path')
const MiniCssExtractPlugin = require('mini-css-extract-plugin')
const HtmlWebpackPlugin = require('html-webpack-plugin')
const app = {
"folder": "home",
"entry": { "home" : "./src/home/Home.js" },
"template": "./src/home/index.ejs",
"fileNameCSS": "home.css"
}
module.exports = {
mode: 'development',
devtool: 'inline-source-map',
entry: app.entry,
output: {
filename: '[name].js',
path: path.resolve(__dirname, 'dist') + '/' + app.folder,
},
resolve: {
alias: {
c1: path.resolve(__dirname, 'src/c1'),
}
},
module: {
rules: [
{
test: /\.(sa|sc|c)ss$/,
use: [
MiniCssExtractPlugin.loader,
{ loader: 'css-loader', options: { url: false, sourceMap: true } },
{ loader: 'sass-loader', options: { url: false, sourceMap: true } }
],
},
{
test: /\.ejs$/,
loader: 'ejs-loader?variable=data'
},
{
test: /\.m?js$/,
exclude: /(node_modules|bower_components)/,
use: {
loader: 'babel-loader',
options: {
presets: ['@babel/preset-env']
}
}
},
],
},
plugins: [
new MiniCssExtractPlugin({
filename: app.fileNameCSS ,
}),
new HtmlWebpackPlugin({
filename: 'index.html',
template: app.template
})
],
}
project-1 / src / home / Home.js
import Button from 'c1/button/Button'
export default class Home {...}
new Home()
И при сборке я получаю следующую ошибку:
ERROR in g:/web/test/c1/src/button/Button.js
Module build failed (from ./node_modules/babel-loader/lib/index.js):
SyntaxError: g:\web\test\c1\src\button\Button.js: Support for the experimental syntax 'classProperties' isn't currently enabled (3:8):
1 | export default class Button
2 | {
> 3 | el = null
| ^
4 | ...
5 | }
Как использовать «компоненты» из другого проекта без копирования / вставки, но с использованием символической ссылки .