Может ли webpack скомпилировать .jsx внутри node_modules? - PullRequest
0 голосов
/ 19 января 2019

Я создал общее репо компонентов и вспомогательных функций на github.

Я импортирую его как node_module внутри моего проекта React.

$ yarn add git+ssh.../my_shared_stuffs

import OneComponent from "my_shared_stuffs/OneComponent"

Отлично работает с scss и функциями, но я получил ошибку в элементах .jsx:

Module build failed (from ./node_modules/babel-loader/lib/index.js): 

Некоторая ошибка синтаксиса вокруг каждого div, компонента, ...

В моей конфигурации веб-пакета я пробовал что-то вроде:

module: {
rules: [
  {
    test: /\.(js|jsx)$/,
    use: ['babel-loader'],
    include: [
      path.resolve(__dirname, "./src"),
      path.resolve(__dirname, "./node_modules/my_shared_stuffs")
    ]
  },

Что-то не так с этим?

мой .babelrc:

{
  "presets": ["@babel/preset-env", "@babel/preset-react"],
  "plugins": [
    "@babel/plugin-syntax-dynamic-import",
    "react-loadable/babel",
    "@babel/plugin-transform-property-literals",
    "@babel/plugin-transform-member-expression-literals",
    "@babel/plugin-transform-regenerator"
  ]
}

1 Ответ

0 голосов
/ 19 января 2019

Если это может помочь, вот решение в конфигурации веб-пакета:

const babelSettings = {
  extends: path.join(__dirname, "./.babelrc")
};

...

rules: [
      {
        test: /\.(js|jsx)$/,
        use: ["babel-loader?" + JSON.stringify(babelSettings)],
...