- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个包含 2 个条目的 Webpack 配置:
const path = require('path');
module.exports = {
entry: {
public: './src/public.js',
admin: './src/adminPanel.js'
},
module: {
rules: [
{
test: /\.js$/,
exclude: /node_modules/,
use: [{
loader: 'babel-loader',
options: {
presets: [
['@babel/preset-env', {
targets: {
browsers: ['last 5 years']
}
}]
]
}
}]
}
]
},
output: {
path: path.resolve(__dirname, 'dist'),
filename: '[name].js'
}
};
它生成 2 个文件:一个用于公共(public)页面的脚本和一个用于管理面板的脚本。这些条目导入另一个 JS 文件,包括一些共享文件。我需要公共(public)脚本来支持许多浏览器,并需要管理面板脚本来仅支持最新的 Chrome。
我想通过根据条目使用不同的浏览器
设置来实现它,这样如果在公共(public)条目中使用JS文件,则加载一个设置,如果使用文件在管理条目中,它加载了其他设置。如何在 Webpack 4 中做到这一点?
我知道我可以通过 exporting 2 Webpack configurations 解决我的问题但我想知道如何使用不同的加载器或根据入口文件调整加载器选项。
最佳答案
I need the public script to support many browsers and the admin panel script to support only the latest Chrome. I want to achieve it by using different browsers setting depending on the entry.
babel
支持每个目录的多个配置(递归地找到 babel
配置文件,直到找到 package.json
:
Babel loads .babelrc (and .babelrc.js / package.json#babel) files by searching up the directory structure starting from the "filename" being compiled (limited by the caveats below). This can be powerful because it allows you to create independent configurations for subsections of a package. Source:
babel
docs
目前,您已将 babel
配置放置在适用于项目范围的 webpack 配置中。你可以做的就是从你的 webpack 中删除 babel 配置,将你的 adminPanel.js 和 public.js 放在单独的目录中,每个目录都有自己的目录.babelrc
(或其他 babel 配置)文件,其具有不同的 @babel/presets-env
目标。
.
├── src
| ├── admin
| | ├── adminPanel.js
| | ├── .babelrc
| |
| ├── public
| | ├── public.js
| | ├── .babelrc
|
├── package.json
您的./src/admin/.babelrc
可能如下所示:
{
"presets": [["@babel/preset-env", {
"targets": "chrome 70"
}]]
}
还有你的./src/public/.babelrc
:
{
"presets": [["@babel/preset-env", {
"targets": "last 5 years"
}]]
}
我刚刚在 ./src/admin/adminPanel.js
和 ./src/public/public.js
中使用以下代码尝试了此操作p>
[1, 2, 3].map(num => `number ${num}`)
let [x, y, z] = [2, 4, 6]
webpack
和 babel
已经转变为
// ./dist/admin.js
[1, 2, 3].map(num => `number ${num}`);
let [x, y, z] = [2, 4, 6];
和
// ./dist/public.js
[1, 2, 3].map(function (num) {
return "number ".concat(num);
});
var x = 2,
y = 4,
z = 6;
希望有帮助。
关于webpack - 如何根据入口应用不同的loader?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54849437/
我正在使用 webpack 开始我的学习之路,但遇到了一个问题,我认为这是由 extract-loader 引起的。 .当webpack抓取我的HTML文件时,似乎无法正常编译,在使用import.m
我正在使用 tomcat 8,在 tomcat-home/config/catalina.properties ,有关于的部分 common.loader, server.loader and sha
在使用 import 语句时,我对区分 sass-loader 和 css-loader 有点困惑。据我所知,css loader resolve import statment(@import) 和
我的 webpack 加载器数组中有这个加载器: { test: /\.scss$/, exclude: /node_modules/, loaders: ExtractTextPlugin('sty
我对 url-loader 、 file-loader 和 image-loader 感到很困惑。谁能解释一下 url-loader 、 file-loader 和 image-loader 的区别是
我有 page.css @imports index.css。 page.css 和 index.css 都有 display: flex Webpack.config.js 包含: module:
我在 webpack 中使用生产模式构建的多入口点最终 bundle 中导出的多入口编译 js 文件始终包含加载器内容。如何消除它们以及为什么包含它们? 重现 git clone https://gi
模板加载器找到模板但未加载模板 TemplateDoesNotExist at /cardpayment/ cardpayment.html Request Method: GET Reque
当我尝试运行 gradle tR (tomcatRun) 时出现此错误 A child container failed during start java.util.concurrent.Execu
Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].StandardContext[/projectna
我计划将 Webpack 用于一个项目,并且我正在使用 Html-loader + file-loader 设置我的工作流程,以获取带有图像动态 src 的生产 html 文件,正如 Colt Ste
我有一个巨大的 csv 文件,其中包含数百万条记录,我想使用 python 脚本将它加载到 Netezza 数据库中。我尝试了简单的插入查询,但速度非常非常慢。可以指出一些示例 python 脚本或一
我想将 ts-loader 与 babel-polyfill 一起使用,但不使用 babel-loader。但是当我尝试构建该项目时,我收到了此错误。谁能告诉我我缺少什么。 ERROR in ./sr
下面是我的 webpack.config.js 和 package.json module.exports = { entry: "./entry.js", output: { fi
我在两台不同的 PC 上遇到了一个问题。对于我的项目,我为开发安装了以下依赖项:(webpack webpack-cli @babel/core @babel/preset-env @babel/pr
模板文件保存在app目录下,但渲染时引发TemplateDoesNotExist异常: 模板加载器事后分析如下: Django 尝试按以下顺序加载这些模板: Using loader django.t
PHPUnit 手册说: If you point the PHPUnit command-line test runner to a directory it will look for *Test
我正在开发一个需要 html 的角度应用程序要提取为纯 HTML 文件的文件,同时应检查任何 要求这些图像(作为 Assets )。另外,图片是基于根路径的(所以 /images/something.
我们在 sql 加载器中遇到了问题。我们正在尝试将一个大约 46 亿行(近 340 GB)的数据文件加载到 2 个 oracle 表中,基于一些使用 Sql Loader 的条件。但是在加载了 42
我将 CSS 模块与 webpack css-loader 一起使用,然后将它们与 mini-css-extract-plugin 捆绑在一起。 这是我的配置的样子: { test: /\.c
我是一名优秀的程序员,十分优秀!