Как добавить файл js с помощью веб-пакета?

Я читал этот учебник по веб-пакету:

https://webpack.github.io/docs/usage.html

В нем говорится, что он объединяет файлы src и node_modules. Если я хочу добавить туда еще один файл .js, как я могу это сделать? Это сторонний файл, который не является частью исходного кода и не является частью файлов node_modules. Это мой текущий webpack.config.js:

var path = require('path');
var webpack = require('webpack');

module.exports = {
    entry: [
        'react-hot-loader/patch',
        'webpack-dev-server/client?http://localhost:8080',
        'webpack/hot/only-dev-server',
        './app/app.js'
    ],
    output: {
        path: path.resolve(__dirname, "dist"),
        publicPath: "/dist/",
        filename: "dist.js",
        sourceMapFilename: "dist.map"
    },
    devtool: 'source-map',
    plugins: [
        new webpack.HotModuleReplacementPlugin(),
        new webpack.DefinePlugin({
            'process.env': {
                'NODE_ENV': JSON.stringify('development')
            }
        }),
    ],
    module: {
        loaders: [{
            loader: 'babel',
            exclude: /node_modules/
        }]
    },
    devServer: {
        inline: true
    },
    node: {
        fs: "empty"
    },
    watch: false
}

person bier hier    schedule 24.05.2017    source источник
comment
Возможный дубликат Как включить внешний файл в webpack   -  person Liam    schedule 05.01.2018


Ответы (2)


Отправной точкой для кода является поле entry в config. В вашей точке входа в конфигурацию находится список файлов. Webpack получает все, разрешает их зависимости и выводит в один файл.

У вас есть два варианта добавления стороннего скрипта:

  • добавить путь к файлу в список записей перед app.js
  • требовать этот файл от app.js
person Dmitry Manannikov    schedule 24.05.2017

В ответ на ответ Дмитрия:

  • добавить путь к файлу в список записей перед app.js

Это приводит к тому, что вы получаете связанный файл .js для каждой точки входа, что вам может не понадобиться.

  • требовать этот файл от app.js

У вас может не быть доступа к app.js, если он написан динамически, или по какой-то другой причине вы не хотите редактировать app.js.

Другой вариант:

Вы можете использовать webpack-inject-plugin, чтобы внедрить любой код JS в виде строки в результирующий пакет .js, созданный webpack. Таким образом, вы можете прочитать файл, который хотите внедрить, в виде строки (например, fs.readFile в nodejs) и внедрить его с помощью плагина.

person Jose V    schedule 20.03.2019