[英]what's the workflow of style-loader and css-loader
我是 webpack 的新手,對於 webpack 如何與裝載機配合仍然有些困惑。 讓我們在下面有 typescript 文件index.ts
:
//index.ts
import "bootstrap/dist/css/bootstrap.css";
...
// typescript code
以下是 webpack 配置文件:
module.exports = {
mode: "development",
entry: "./src/index.ts",
output: { filename: "bundle.js" },
resolve: { extensions: [".ts", ".js", ".css"] },
module: {
rules: [
{ test: /\.ts/, use: "ts-loader", exclude: /node_modules/ },
{ test: /\.css$/, use: ["style-loader", "css-loader"] }
]
}
};
以下是我個人對 webpack 如何與裝載機一起工作的想法,如果我錯了,請糾正我:
Step 1-Webpack 遇到index.ts
,於是把這個文件傳給ts-loader
, ts-loader
讀取文件傳給 ts 編譯器,ts 編譯器生成 js 代碼文件index.js
傳回ts-loader
,然后ts-loader
將index.js
傳回 webpack。
Step 2- Webpack reads index.js
and needs to resolve the css file, so Webpack passes the task to css-loader
, so css-loader
reads the css file as a long long string, then passes the task to style-loader
, which創建可以嵌入到 index.html 文件中的標簽中的 js 代碼。
Step 3- bundle.js
is ready, and client sends a http request to get index.html
, and the bundle.js
is fetched and create a <style> tags to include all css styles.
我的上述理解正確嗎? 如果是,以下是我的問題:
Q1- style-loader
生成js代碼后,是否將這些js代碼傳回css-loader
,然后css-loader
將收到的js代碼傳給webpack? 還是style-loader
直接將生成的 js 代碼傳遞給 webpack?
Q2- 在 webpack 配置文件中:
...
{ test: /\.css$/, use: ["style-loader", "css-loader"] }
...
似乎首先使用了style-loader
,然后是css-loader
(我嘗試過這種方法,它有效,不知道為什么有效)
是不是css-loader
應該首先開始工作,然后style-loader
為:
...
{ test: /\.css$/, use: ["css-loader", "style-loader"] }
...
我的上述理解正確嗎?
是的
Q1-style-loader生成js代碼后,是否將這些js代碼傳回css-loader,然后css-loader將收到的js代碼傳給webpack? 還是 style-loader 直接將生成的 js 代碼傳遞給 webpack?
答:style-loader 將生成的js代碼直接傳給webpack
Q2 好像是先用style-loader,然后css-loader介入,
這似乎是錯誤的。 但它是您需要閱讀文檔的那些事情之一。 數組頂部提到了處理它的最后一件事。 就我個人而言,我不認為反過來會更直觀。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.