12

只是想知道 create-react-app 如何使用 .js 文件而不是 .jsx 进行 jsx 标记。是不是因为特殊的 webpack 配置?顺便说一句,我在哪里可以找到使用 create-react-app 创建的项目的 webpack 和 babel 配置?

4

1 回答 1

9

文件扩展名没有什么特别之处;这只是通过 Babel 运行的内容的问题。例如:

  module: {
    loaders: [
      {
        test:    /\.jsx?$/, 
        exclude: /(node_modules)/,
        loader:  'babel',
        query:   {
          presets: [
            'react',
            'es2015',
            'stage-0'
          ],
          plugins: [
            ["transform-decorators-legacy"],
          ]
        },
      }

这会使用 React 预设通过 Babel 运行 .js 和 .jsx。

Webpack 和 Babel 配置位于 create-react-app 中。

您可以通过以下方式弹出它们:

npm run eject让他们“外化”,但只有在你真的想要的时候才这样做。

https://github.com/facebookincubator/create-react-app#user-content-converting-to-a-custom-setup

于 2017-02-07T15:37:11.677 回答