Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在my vendor.js(CommonChunkPlugin)中导出捆绑库?_Javascript_Webpack - Fatal编程技术网

Javascript 如何在my vendor.js(CommonChunkPlugin)中导出捆绑库?

Javascript 如何在my vendor.js(CommonChunkPlugin)中导出捆绑库?,javascript,webpack,Javascript,Webpack,我有两个webpack2项目 第一个,我们称之为lib1是一个可重用组件库。在webpack配置中,它被导出为名为lib1的库。项目将react和react dom列为外部依赖项 第二个,我们称之为proj1是一个使用lib1的应用程序。因为lib1是在cdn上提供的,所以它被列为外部依赖项。该项目还依赖于react和react-dom。使用commonchunkpluginI generare创建一个vendor.js,其中包括react和react dom(最终还有其他依赖项) 在浏览器

我有两个
webpack2
项目

  • 第一个,我们称之为
    lib1
    是一个可重用组件库。在webpack配置中,它被导出为名为
    lib1
    的库。项目将
    react
    react dom
    列为外部依赖项

  • 第二个,我们称之为
    proj1
    是一个使用
    lib1
    的应用程序。因为
    lib1
    是在cdn上提供的,所以它被列为外部依赖项。该项目还依赖于
    react
    react-dom
    。使用
    commonchunkplugin
    I generare创建一个
    vendor.js
    ,其中包括
    react
    react dom
    (最终还有其他依赖项)

在浏览器中运行
proj1
时,
lib1
中的代码失败,因为它找不到
react
。按以下顺序加载库:

<script src="dist/vendor.js"></script>
<script src="http://cdn.com/lib1/lib1.js"></script>
<script src="dist/bundle.js"></script>
但它会创建
window.vendor
而不是
window.React
window.ReactDOM

我该怎么做


lib1配置

proj1配置


你应该发布你的网页配置我添加了网页配置
 library: "[name]", 
 libraryTarget: "umd"
const path = require('path');
module.exports = {
  entry: './src/index.js',
  output: {
    path: path.resolve(__dirname, "dist"), // string
    filename: "bundle.js",
    publicPath: "/dist/",
    library: "lib1",
    libraryTarget: "umd",
  },
  module: {
    rules: [{
      test: /\.js$/,
      loader: 'babel-loader',
      exclude: path.resolve(__dirname, "node_modules"),
    }]
  },
  externals: ["react", "react-dom"],
};
var webpack = require('webpack');
const path = require('path');

module.exports = {
  entry: {
    bundle : './src/index.js',
    vendor : ['react', 'react-dom']
  },
  output: {
    path: path.resolve(__dirname, "dist"),
    filename: "[name].js",
    publicPath: "/dist/",
    library: "[name]",
    libraryTarget: "umd",
  },
  plugins: [
    new webpack.optimize.CommonsChunkPlugin({
      name: 'vendor'
    })
  ],
  module: {
    rules: [{
      test: /\.js$/,
      loader: 'babel-loader',
      exclude:  path.resolve(__dirname, "node_modules"),
    }]
  },
  externals: ["lib1"],
  devtool: "source-map"
};