首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Webpack供应商dll引用错误

Webpack供应商dll引用错误
EN

Stack Overflow用户
提问于 2017-03-05 05:40:43
回答 3查看 6.4K关注 0票数 4

构建webpack供应商动态链接库并获取

代码语言:javascript
复制
Uncaught ReferenceError: vendors_9a2b8ee29a9e8dcdc486b49a360b9763 is not defined

编译后的代码如下所示

代码语言:javascript
复制
module.exports = vendors_9a2b8ee29a9e8dcdc486b49a360b9763;

//////////////////
// WEBPACK FOOTER
// external "vendors_9a2b8ee29a9e8dcdc486b49a360b9763"
// module id = 2
// module chunks = 0

它缺少类似以下内容的声明和定位

代码语言:javascript
复制
var angular = __webpack_require__(2)

module.exports = (__webpack_require__(3))(1)

我不知道为什么会这样,而且我已经尝试了所有的方法。这是我的webpack配置的插件:

代码语言:javascript
复制
plugins: [
    new webpack.DllReferencePlugin({
        context: '.',
        manifest: require('./src/tmp/vendors-manifest.json')
    }),
],

下面是我的dll配置:

代码语言:javascript
复制
var webpack = require('webpack');
var packageJSON = require('./package.json');
var path = require('path');

module.exports = {
    entry: {
        vendors: Object.keys(packageJSON.devDependencies),
    },
    output: {
        path: path.join(__dirname, 'src/tmp'),
        filename: 'vendors.bundle.js',
        library: 'vendors_[hash]'
    },
    plugins: [
        new webpack.DllPlugin({
            path: 'src/tmp/[name]-manifest.json',
            name: 'vendors_[hash]'
        }),
    ]
};

index.html导入:

代码语言:javascript
复制
<script type="text/javascript" src="/src/tmp/vendors.bundle.js"></script>
<script type="text/javascript" src="/dist/js/app.js"></script>

任何想法都将不胜感激!提前感谢!

EN

回答 3

Stack Overflow用户

发布于 2018-08-18 18:34:02

我遇到了这个问题。它是通过改变上下文来解决的。

代码语言:javascript
复制
plugins: [
new webpack.DllReferencePlugin({
    context: path.join(__dirname, 'src/tmp'),
    manifest: require('./src/tmp/vendors-manifest.json')
})]
票数 12
EN

Stack Overflow用户

发布于 2017-05-27 13:47:06

我遇到了同样的问题。我必须使用相同的名称将"library“选项添加到输出部分。

代码语言:javascript
复制
   // Location of webpack output
    output: {
        path: path.join(__dirname, 'dll'),
        filename: '[name].bundle.js',
        library: '[name]'
    },

    plugins: [            
        new webpack.DllPlugin({
            path: require(path.join(__dirname, 'dll/[name]-manifest.json')),
            name: '[name]',
        })
    ]
票数 3
EN

Stack Overflow用户

发布于 2017-05-25 01:12:13

修改dll配置文件,并将代码设置为

代码语言:javascript
复制
new webpack.DllPlugin({
    path: 'path.join(__dirname, 'src/tmp/manifest.json')',
    name: 'vendors_[hash]'
}),

在您的配置文件中,将您的DllReferencePlugin修改为

代码语言:javascript
复制
plugins: [
    new webpack.DllReferencePlugin({
        context: __dirname,
        manifest: require(path.join(__dirname, 'src/tmp/manifest.json')),
        name: 'vendors_9a2b8ee29a9e8dcdc486b49a360b9763'
    }),
],
票数 -3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42601721

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档