webpack 如何将import的文件不打包而只是require ?

我有项目目录如下,

// src/index.js

    export { default as A } from './a.js'
    export { default as B } from './b.js'

// src/a.js
// src/b.js

在 webpack 中我配置了

entry: {
            index: path.join(__dirname, '../src/index.js'),
            A: path.join(__dirname, '../src/A.js'),
            B: path.join(__dirname, '../src/B.js'),

        },
        output: {
            path: path.join(__dirname, '../lib'),
            filename: '[name].js',
            libraryTarget: 'umd'
        }

打包的时候 index.js里面 会将A和B的代码都打包进去
我要如何才能将 index.js生成一个包含 require('./a') require('./b')的文件?

阅读 3.5k
3 个回答
entry: {
    A: path.join(__dirname, '../src/A.js'),
    B: path.join(__dirname, '../src/B.js'),

},
plugins: [
    new CopyWebpackPlugin([{
        from: path.join(__dirname, '../src/index.js'),
        to: path.join(__dirname, '../lib/index.js')
    }])
]

先不说打包成几个文件的问题,require本来就只有node环境认识,浏览器并不认识,除非你页面里引用了require.js,但如果是那样,就不要用webpack了,直接在js里面写require就好。

Webpack 中可以直接用 require 导入模块,文档

var bar = require('./bar.js')
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题