Ошибки 'classProperties' при использовании символической ссылки - PullRequest
0 голосов
/ 21 мая 2019

У меня есть 2 проекта webpack:

  • c1
  • project-1

"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 | }

Как использовать «компоненты» из другого проекта без копирования / вставки, но с использованием символической ссылки .

...