如何使用webpack添加js文件?

时间:2017-05-24 07:03:01

标签: javascript webpack webpack-dev-server

我正在阅读这个webpack教程:

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
}

2 个答案:

答案 0 :(得分:10)

代码的起点是config中的and code = "2"字段。在您的配置入口点是文件列表。 Webpack获取所有内容,解决它们的依赖关系并在一个文件中输出。

您有两种添加第三方脚本的选项:

  • 在app.js
  • 之前将文件路径添加到条目列表中
  • 需要app.js
  • 中的此文件

答案 1 :(得分:0)

对Dmitry的回答:

  
      
  • 将文件路径添加到app.js之前的条目列表中
  •   

这样的效果是,您可能会为每个入口点获得一个捆绑的.js文件,这可能是您不想要的。

  
      
  • 从app.js中获取此文件
  •   

如果app.js是动态编写的,或者由于某种原因您可能不想编辑app.js,则可能无法访问。

另一个选项:

您可以使用webpack-inject-plugin将任何JS代码作为字符串注入到webpack创建的结果.js包中。这样,您可以读取要作为字符串注入的文件(例如,nodejs中的fs.readFile),然后将其与插件一起注入。