Бабель не переносит код в локальную упаковку - PullRequest
0 голосов
/ 20 мая 2018

Структура моих папок выглядит следующим образом:

/testproject
    /local-package
      package.json
    /src
package.json

/ testproject / package.json

"dependencies": {
  "local-package": "file:./local-package",

/ testproject / webpack.config.js

  module: {
    rules: [
      {
        test: /\.jsx?$/,
        exclude: /node_modules(?!\/local-package)/,
        use: ["babel-loader"]
      }
    ]
  },

Когда я бегу webpack --mode production Я получаю ошибку

ERROR in ./local-package/components/NotFound.jsx
Module build failed: SyntaxError: /Users/pavel/Projects/JS/testproject/local-package/components/NotFound.jsx: Unexpected token (4:2)

  2 |
  3 | const NotFound = () => (
> 4 |   <div>
    |   ^
  5 |     <h3>404 page not found</h3>
  6 |     <p>We are sorry but the page you are looking for does not exist.</p>
  7 |   </div>

https://gist.github.com/perevezencev/2c985c5a4f2c2ab9a89b9afd2989d409 Действия для воспроизведения:

  1. клон репо git clone https://github.com/perevezencev/webpack-error.git
  2. бег yarn link внутри /webpack-error/local-package
  3. бег yarn link "local-package" внутри /webpack-error
  4. бег yarn внутри /webpack-error
  5. пробег yarn build внутри /webpack-error

1 Ответ

0 голосов
/ 20 мая 2018

Хорошо, я думаю, вы могли бы попробовать этот урок, работая над последней версией babel, webpack, и реагируйте.У него уже есть хорошие примеры, вместо того, чтобы я воссоздаю ваши файлы проекта, просто сделайте рефакторинг ваших как учебное пособие.

response-webpack-babel proj

Вы также можете настроить реагирование-hot-loader, чтобы вы могли редактировать свой компонент в режиме реального времени при запуске сервера разработки.Вы добавляете его в файл .babelrc.

response-hot-loader

...