企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
[toc] ## 支持单文件组件 ![](https://box.kancloud.cn/84f8117e3c2e0dc00b5279c299f4c4bb_549x245.png) ``` npm i vue-loader ``` ![](https://box.kancloud.cn/29cafa19dc6e57a11f4c38b93a34c861_694x67.png) 因为 `.vue` 文件内可以写**css**,以及写模板**html**,故还 **vue-loader** 依赖 **css-loader** 和 **vue-template-compiler** ### vue-loader配置 ![](https://box.kancloud.cn/e99b19e11f434cc424058a8e9041f8b9_563x181.png) ``` module.exports = (isDev) => { return { //清楚单文件组件模板中的空格 preserveWhiteSpace: true //将所有单文件组件的css打包到抽离出的那个单独的css文件中 //默认是和组件绑定的,这是为了让异步加加载更完美(类似于styled-components) , extractCSS: !isDev //Vue的单文件组件的css默认并不支持热更新 //需要->vue-style-loader(-D)替代style-loader //css模块化 , cssModules: { localIndentName: isDev ? '[path]-[name]-[hash:base64:5]' : '[hash:base64:5]' //默认为串烧,这里改成小驼峰命名,便于js操作 , camelCase: true } //一般不用 因为一般会用postcss.config.js单独配置 // ,postcss //热加载 //但无法限制单文件组件的css的热加载 , hotReload: isDev //Vue单文件组件内一般有3个模块,template、script、style //,想要解析他们,都可以设置对应的loader //,除此之外也可以自定义模块 //,这时候想要解析也需要对应的loader , loaders: { // js // ,html // ,style // ,'docs':docsLoader } //vue调用babel-loader之前 //比如Type-script , preLoader: {} //Vue指定loader解析完之后 , postLoader: {} }; }; ``` ## 支持jsx 另外如果想在 **vue** 中使用 `jsx`, ![](https://box.kancloud.cn/5c6bc534986b1bfb855a9b4c3eab0b4f_233x365.png) 除了 **transform-vue-jsx** ,还需要安装这个插件依赖的两个包 ![](https://box.kancloud.cn/f3b0388982c2a06da7e02eda63aa25c4_790x108.png) ##