Простой вопрос от мертвого мозга. Регулярное выражение в Webpack

Доброго времени суток. Я просто не могу заставить работать что-то простое!

У меня есть структура каталогов

myapp    
   app
      server
          api.py
      client
          dist  
          node_modules  
          package.json  
          src  
          webpack.config.js 
smartForm
    smartform.js 
morestuff
    morestuff.js

Теперь в React-клиенте myapp я хочу использовать JSX-код из globalstuff, но он не переносится. Похоже, что это должно быть легкое регулярное выражение для включения: но на всю жизнь я не могу этого понять! Помощь приветствуется!

Пример просил! Спасибо, что посмотрели!

РЕДАКТИРОВАТЬ

ERROR in /disk/dev/www/smartForm/smartForm.js
Module build failed: SyntaxError: Unexpected token (244:16)

  242 |         }
  243 |         
> 244 |         return( <div>
      |                 ^
  245 |                     {formOut}
  246 |                 </div>
  247 |         );

 @ ./src/containers/people_new_edit.js 23:17-62
 @ ./src/routes.js
 @ ./src/components/app.js
 @ ./src/index.js
 @ multi (webpack)-dev-server/client?http://localhost:8888 webpack/hot/dev-server webpack-dev-server/client?http://localhost:8888 webpack/hot/only-dev-server ./src/index.js
webpack: Failed to compile.

Я хочу использовать smartForm из нескольких клиентских приложений.

Мой веб-пакет выглядит так: EDITED.

var path = require('path');
module.exports = {
  entry: [
    'webpack-dev-server/client?http://localhost:8888',
    'webpack/hot/only-dev-server',
    './src/index.js'
  ],
  module: {
    loaders: [{
      test: /\.css$/,
      include: /style/,
      loaders: [
            'style-loader',
            'css-loader',
            'less-loader']
      },
    {
      test: /\.js?$/,
      exclude: /node_modules/,
      include:[ 
                /src/,
                path.resolve(__dirname,'../','../','../','smartForm')
      ],
      loaders: 'react-hot-loader/webpack!babel-loader'
    }]
  },
  resolve: {
    extensions: ['*', '.js', '.jsx']
  },
  output: {
    path: __dirname + '/dist',
    publicPath: '/',
    filename: 'bundle.js'
  },
  devServer: {
    historyApiFallback: true,
    contentBase: './dist',
    port: 8888,
    hot: true
  }
};

Надеюсь, это яснее! Это кажется простым, но я не могу этого понять! Включаемый объект втягивается, но JSX не переносится. Ваше здоровье.

Я изменил REGEX на строку. Тот же результат. JSX не переносится. Я изменил описание каталога, чтобы было понятнее. Та.

Не уверен, чего вы хотите достичь, возможно, вам поможет пример

felixmosh 24.12.2018 19:35

Я думаю, вам не обязательно использовать регулярное выражение, вы можете просто заключить строку в кавычки, чтобы упростить задачу: "../../../smartForm" - но этот путь не отображается в вашем дереве файлов?

Mikkel 24.12.2018 21:10

Почему уценка?

Addinall 25.12.2018 02:30
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
0
3
83
1

Ответы 1

Вместо строки регулярного выражения используйте path.resolve(__dirname, '../', '../', '../', 'smartForm')

Та же ошибка. Неожиданный токен на <div>. но спасибо. Стоит попробовать. Кто-то еще ДОЛЖЕН поделиться кодом утилиты? !!!

Addinall 25.12.2018 07:39

Правильно ли переносится ваш модуль smartForm, если вы поместите его в каталог src вместо текущего местоположения?

Slbox 25.12.2018 19:27

Да. Он вырос в каталоге src. У нас есть еще несколько новых приложений, кроме моего, поэтому мы решили, что это пригодится всей компании. Так что я поднял его и поднял. Я не думаю, что простое включение сработает. Я думаю, что для этого каталогу нужны собственные .babel.rc, package.json, node_modules. Я был бы счастлив, если бы ошибся, но сейчас я именно об этом. Ваше здоровье!

Addinall 25.12.2018 21:25

Вы используете файл babel.config.js? Скорее всего, вам будет полезен файл babel.config.js верхнего уровня, который влияет на все подкаталоги. Вы также можете использовать файлы .babelrc для отдельных каталогов.

Slbox 26.12.2018 00:41

Чай, идея «монопроекта». Я не очень-то увлекаюсь тем, что .babel.rc - это «один файл, который управляет всеми». Кроме того, на / disk / dev / у нас много проектов, кроме React / Babel. Но спасибо за предложение. Думаю, я собираюсь изучить, как создавать свои утилиты как частные модули NPM, чтобы я мог просто установить их там, где это необходимо. Кажется, простой способ. В мире C / PHP простой include () был бы отличным вариантом!

Addinall 26.12.2018 04:54

Другие вопросы по теме