我正在编写一个模块/程序包,该程序将从我的项目中的所有.vue文件中抓取特定的类名,然后创建一些基于:lang()
的sass,以扩展其对应的全局sass文件。我已经达到了将所有渲染的CSS正确写入CSS文件的地步,但是在hmr(HotModuleReplacement)或热重载期间,我无法让Nuxt重载模块。涉及HMR时,Nuxt.js网站上的文档也很狭窄,这也无济于事。
显然,这仅应在开发环境中发生,到目前为止,我已经尝试了几乎所有的Nuxt Hook,但我认为没有任何东西与热重装有关。我还尝试使用extendBuild()
将HotModuleReplacementPlugin()
添加到this.options.plugins
数组,但这似乎并没有向我展示任何插件。至少在文档(即module.hot
)中没有描述它的使用方式。
我的模块被添加到模块部分的nuxt.config.js中:
['styles-lang', {
pathPattern: 'app/**/*.vue',
rootPath: __dirname || process.env.ROOT_PATH,
}],
我尝试参考的一些代码:
import { HotModuleReplacementPlugin } from 'webpack';
this.extendBuild((config, { isDev }) => {
if (isDev) {
this.options.plugins.push(
new HotModuleReplacementPlugin()
);
}
});
--- and ---
this.nuxt.hook('render:done', () => {
console.info(module.hot);
});
我基本上只是希望获得对插件的访问权,或者是允许我的模块在热重装期间更新的替代方法。欢迎所有建议/建议。
谢谢。