- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试使用 Webpack 为我的 Vue 项目设置环境变量,但是 DefinePlugin
不起作用,它一直给我 TypeError: Cannot read property 'compilation' of undefined
。这是 webpack.config.js。
import webpack from 'webpack';
module.exports = {
entry: {
main: './app'
},
output: {
path: __dirname + '/dist',
publicPath: '/',
filename: 'index.js'
},
module: {
rules: [
{
test: /\.html$/,
exclude: /node_modules/,
use: {loader: 'html-loader'}
}
]
},
plugins: [
new webpack.DefinePlugin({
'process.env.NODE_ENV' : JSON.stringify('production')
})
]
};
错误是:
TypeError: Cannot read property 'compilation' of undefined
at DefinePlugin.apply (/Users/david/Documents/black-tux-cms/node_modules/webpack/lib/DefinePlugin.js:42:18)
at Compiler.apply (/Users/david/Documents/black-tux-cms/node_modules/webpack-stream/node_modules/tapable/lib/Tapable.js:375:16)
at webpack (/Users/david/Documents/black-tux-cms/node_modules/webpack-stream/node_modules/webpack/lib/webpack.js:33:19)
at Stream.<anonymous> (/Users/david/Documents/black-tux-cms/node_modules/webpack-stream/index.js:134:20)
at _end (/Users/david/Documents/black-tux-cms/node_modules/through/index.js:65:9)
at Stream.stream.end (/Users/david/Documents/black-tux-cms/node_modules/through/index.js:74:5)
at module.exports (/Users/david/Documents/black-tux-cms/node_modules/webpack-stream/index.js:214:12)
at Gulp.<anonymous> (/Users/david/Documents/black-tux-cms/gulp/tasks/scripts.js:8:15)
at module.exports (/Users/david/Documents/black-tux-cms/node_modules/orchestrator/lib/runTask.js:34:7)
at Gulp.Orchestrator._runTask (/Users/david/Documents/black-tux-cms/node_modules/orchestrator/index.js:273:3)
我正在使用 gulp 来编译我所有的源文件。我是 gulp、webpack 和 vue 的新手。
最佳答案
根据您使用的webpack版本,您的配置可能会有所不同,请尝试
new webpack.DefinePlugin(
{
PRODUCTION: JSON.stringify(true)
}
);
代替
让我们看看结果,你有没有试过any other plugins相反......也许是 IgnorePlugin ,像这样
新的 webpack.IgnorePlugin(/^\.\/locale$/,/moment$/)
它编译没有错误吗?可能是您混淆了版本 :D
关于webpack definePlugin 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49661859/
我尝试使用 Webpack 为我的 Vue 项目设置环境变量,但是 DefinePlugin 不起作用,它一直给我 TypeError: Cannot read property 'compilati
在 webpack 插件的定义中,我试图提供一个覆盖函数,如果该方法存在,我的模块将获取该函数。 export const listFetchAPI = () => { return ( LIST
在 webpack 插件的定义中,我试图提供一个覆盖函数,如果该方法存在,我的模块将获取该函数。 export const listFetchAPI = () => { return ( LIST
我什至很难得到 webpack 的一个 token 示例 DefinePlugin在职的。即,npx webpack运行得很好,但输出 js 文件没有替换定义的标记。这是我的最小(非)工作示例: co
我们使用 Webpack DefinePlugin 为不同的渲染模式生成输出包。因此,例如,我们的 webpack 配置将返回 [{ entry: { mode1: "./in
我以这种方式配置了三个项目: 主应用 模块A 模块 B 在我的主应用程序上,我使用 DefinePlugin 向我的依赖模块传递一个 API URL,如下所示: //webpack-1 loaders
我正在尝试使用 Webpack 构建一个 Web 应用程序,但我在设计的特定部分遇到了一些困难 - 希望这里的人有做类似事情的经验(或者足够了解来告诉我我做的完全错了)! 基本上,我们有一个 Angu
我想定义一些从异步资源返回的常量。在 Webpack 中有没有办法做到这一点? /* webpack.config.js */ module.exports = { ..., plug
您好我正在尝试使用定义插件,这样我就可以更新版本号以确保我的 JS 在发布新版本后刷新。不过,我似乎无法让 DefinePlugin 正常工作。我在文件夹 webpack 中看到它,我正在尝试遵循文档
webpack.config.js const path = require('path') HtmlWebpackPlugin = require('html-webpack-plugin') mo
当 webpack 打包并启动网站时,出现以下错误: *** process.env.ENV is not defined, assuming 'prod' env 但是,如果我记录我的 proces
我目前已将 webpack 设置为使用 babel-loader 将单个入口点编译为单个输出包。有点像 entry.js import { A } from "a.js" import { B } f
我正在尝试向我的 webpack.config.js 文件中添加一个插件,但是当我这样做时,我收到了这个错误。 [webpack-cli] Failed to load '/Users/sla
有没有办法有效注入(inject)DefinePlugin每个 block /条目不同的常量? 似乎没有办法指定 chunks在DefinePlugin 上,例如HtmlWebpackPlugin .
我正在使用 webpack.DefinePlugin注入(inject)全局常量作为我的构建管道的一部分。然而 jshint 提示常量“未定义”。 从我的 webpack.config.js 中:
我尝试从 angular.io 网站上的教程运行 Angular2 应用程序 Angular2 with Webpack Tutorial on angular.io 安装运行良好(有一些小问题,它是
我在通过Webpack的definePlugin将node_env var注入(inject)我的代码时遇到了真正的问题,并且在阅读了大量帖子后似乎没有任何效果。我有一种感觉,我错过了一些东西....
Webpack 的 DefinePlugin 没有通过环境变量。我正在使用 Webpack v2.2.1 我的 Webpack plugins block 如下: plugins: [ new w
我是 React 新手,来自 Angular。我正在为将向外部端点发送请求的代码编写一些测试。显然,我不想在生产代码中硬编码一个真实的主机,所以我想我可以使用 webpack 的 DefinePlug
我有一个要求,我们需要根据它是在生产环境还是在开发环境中执行来设置 dll 路径。因此,我决定将该值放入环境变量中,并尝试使用 webpack.DefinePlugin({}) 来实现。 方法一: w
我是一名优秀的程序员,十分优秀!