- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我以这种方式配置了三个项目:
在我的主应用程序上,我使用 DefinePlugin 向我的依赖模块传递一个 API URL,如下所示:
//webpack-1
loaders:[{
test:/\.jsx?$/,
exclude: /(node_modules)/,
loader: "babel",
query: {
presets:["es2015","stage-2","react"]
}
}],
plugins:[new webpack.DefinePlugin({"API_URL":"http://www.google.com"})]
然后,在我的模块 A 和 B 中,我可以像这样使用这个常量
axios.get(`${API_URL}/getProducts`).then(response=>console.log(response));
我已经迁移到 webpack v2,所以我的代码配置文件更改为:
//webpack-2
rules:[{
test:/\.jsx?$/,
exclude: /(node_modules)/,
loader: "babel",
options: {
presets:["es2015","stage-2","react"]
}
}],
plugins:[new webpack.DefinePlugin({"API_URL":"http://www.google.com"})]
但是当我尝试在我的依赖模块上使用 API_URL 时,出现以下错误:
ReferenceError:API_URL is not defined
我做错了什么?我还需要配置什么?
最佳答案
主要的 webpack 配置需要这样配置:
plugins: [
new webpack.DefinePlugin({
API_URL:"http://www.google.com"
PRODUCTION: JSON.stringify(true),
VERSION: JSON.stringify("5fa3b9"),
BROWSER_SUPPORTS_HTML5: true,
TWO: "1+1"
})]
然后,在你的依赖包上,你可以这样做:
console.log('%c DEPENDENT APP! ', 'background: #222; color: #bada55');
console.info("Production:", PRODUCTION);
console.info("Version:", VERSION);
console.info("HTML5 support:", BROWSER_SUPPORTS_HTML5);
console.info("Two:", TWO);
我做了一个 github repo并通过概念验证来展示如何实现。
关于javascript - 使用 definePlugin 将常量传递给依赖包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45372498/
我尝试使用 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
我是一名优秀的程序员,十分优秀!