前端静态资源处理

495 阅读1分钟

静态资源处理

前言

最近在看[tdesign-vue](GitHub - Tencent/tdesign-vue: A Vue.js UI components lib for TDesign.)源码中发现一处看不懂的写法[出处](feat: codesanbox 引入 site-components style (#215) · Tencent/tdesign-vue@6b5a3d8 · GitHub)

import htmlContent from './index.html?raw';
import mainJsContent from './main.js?raw';
import babelContent from './.babelrc?raw';

?raw ,这是个啥?

index.html

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
  </head>
  <body>
    <div id="app"></div>
  </body>
</html>

import htmlContent from './index.html?raw';
import mainJsContent from './main.js?raw';
import babelContent from './.babelrc?raw';

console.log(htmlContent)

为了搞清楚这个问题,直接console**.**log(htmlContent),控制台返回结果变成了字符串

`<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
  </head>
  <body>
    <div id="app"></div>
  </body>
</html>`

去掉?raw

import htmlContent from './index.html';
import mainJsContent from './main.js?raw';
import babelContent from './.babelrc?raw';

console.log(htmlContent)

直接报错了

image-20220301171102589.png

静态资源处理

然后在[vite官网](静态资源处理 | Vite 官方中文文档 (vitejs.dev))上找到了答案, 将资源引入为字符串.

webpack的**[资源模块](资源模块 | webpack 中文文档 (docschina.org))**也有相关的静态资源处理说明

后记

又是涨知识的一天