vue-cli + vue3 + tsx + css modules. Любые правки стилей или модуля (даже банально поменять значение color) приводит к полной перезагрузки приложения. Т.е. по сути, HMR не работает. Вот пример компонента
```
import { defineComponent } from 'vue';
import { baseButtonSharedProps } from './shared';
import style from './BaseButton.module.scss';
export default defineComponent({
name: 'BaseButton',
props: SharedProps,
emits: ['click'],
setup(props, { emit, slots }) {
const onClick = (event: MouseEvent) => emit('click', event);
return () => (
<div v-show={props.show} class={style.baseButton} onClick={onClick}>
{slots.default?.()}
</div>
);
},
});
```
работаю из под win+wsl. С компонентами, оформленными через vue-template проблем не замечал. Кто сталкивался с подобным?
module.exports = { lintOnSave: LINT_ON_SAVE, productionSourceMap: false, publicPath: process.env.VUE_APP_BASE_PATH, css: { sourceMap: /* IS_DEVELOPMENT */false, // todo causes problems with editing styles in devtools requireModuleExtension: true, loaderOptions: { css: { localsConvention: 'camelCaseOnly', esModule: true, modules: { localIdentName: IS_DEVELOPMENT ? '[local]' : '[hash:base64]', } }, }, }, pluginOptions: { svgSprite: { dir: 'src/assets/img/icons', test: /\.(svg)(\?.*)?$/, loaderOptions: { extract: true, spriteFilename: 'img/icons.[hash:4].svg', }, pluginOptions: { // We have no unnecessary styles in svgs, but have necessary //plainSprite: true, }, }, }, chainWebpack: (config) => { config.plugin('circular-dependency').use('circular-dependency-plugin', [ { // exclude detection of files based on a RegExp exclude: /a\.js|node_modules/, // add errors to webpack instead of warnings failOnError: true, // allow import cycles that include an asyncronous import, // e.g. via import(/* webpackMode: "weak" */ './file.js') allowAsyncCycles: false, // set the current working directory for displaying module paths cwd: process.cwd(), }, ]); const devServer = config.devServer .watchOptions({ poll: 1000, }) .headers({ 'Access-Control-Allow-Origin': '*' }); if (IS_DEVELOPMENT && HTTPS_DEV_SERVER) devServer.https({ key: fs.readFileSync('../docker/key.pem'), cert: fs.readFileSync('../docker/cert.pem'), }); }, }; мой конфиг
Обсуждают сегодня