【问题标题】:Multiple package.jsons with ES6 Babel带有 ES6 Babel 的多个 package.jsons
【发布时间】:2016-12-08 18:27:39
【问题描述】:

我有一个大型项目,我想将它分成多个 package.json,以便可以清楚地说明每个部分的依赖关系,并且可以将这些包作为单独的部分导出。

但是,我希望我的应用程序包含这些包中的每一个,并使用 webpack 和 babel 编译它们。包有共享依赖项,所以我不想只将每个包输出到 /dist 文件夹。

我理想的目录结构是这样的:

\main
    \app
    \node_modules
    package.json
\package1
    package.json
    node_modules
    index.js
\package2
    package.json
    node_modules
    index.js

我尝试了多种方法:

  1. 将 webpack 的解析模块与 path.resolve('app') 类似。这只是行不通,即使理论上应该这样做。
  2. 使用 main 的 package.json 引用其他使用 "package1" : "file:../package1" 的文件。这不会将 package1 视为 es6 javascript 并引发错误。在 webpack 配置中使用 resolveLoaders 没有帮助。

我的 webpack 配置如下。

module: {
loaders: [
    {
        test: /\.js?/,
        loader: 'babel-loader',
        include: [
            path.resolve('app'),
            path.resolve('../prose'),
        ],
        query: {
            plugins: [
                ['react-transform', {
                    transforms: [{
                        transform: 'react-transform-hmr',
                        // If you use React Native, pass 'react-native' instead:
                        imports: ['react'],
                        // This is important for Webpack HMR:
                        locals: ['module']
                    }]
                }],
                ['transform-object-assign']
            ]
        }
    },
    { test: /\.css$/, loader: 'style-loader!css-loader!sass-loader' },
    { test: /\.svg$/, loader: 'file-loader' },
    { test: /\.png$/, loader: 'file-loader' },
    { test: /\.jpg$/, loader: 'file-loader' },
    { test: /\.json$/, loader: 'json-loader' }
]
},
resolve: {
    modules: [
        path.resolve('app'),
        'node_modules',
    ],
    extensions: ['.json', '.js', '.jsx'],
}

任何其他项目的想法或示例将不胜感激!

【问题讨论】:

    标签: javascript npm ecmascript-6 babeljs


    【解决方案1】:

    您应该查看lerna。它使您可以在一个 repo 中使用多个 package.json 甚至包。它可能会帮助您满足您的要求。

    【讨论】:

      猜你喜欢
      • 2018-03-20
      • 1970-01-01
      • 2015-10-23
      • 2015-08-11
      • 2017-03-13
      • 2016-07-28
      • 2016-06-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多