html-webpack-plugin按需加载的js/css也会被提取出来吗
展开全部
//引入想要的css文件
var style = require('style/useable!css!./file.css');
//激活,也就是在dom中添加style标签
style.use();
//销毁,也就是不想用时,可以从dom中把style标签再删掉
style.unuse(); // = style.unref();
至于你说“没有提取出来”,那是因为你用的是style-loader,如果真想提取文件,应该用extract-text-webpack-plugin。
最后关于javascript部分,script标签从dom中删除这件事,其实意义不大,这么说吧,对你来说,最想把她从dom中移除的原因是什么?因为你的用户会检查你的dom?还是因为你觉得script标签杵在那里影响了你的心情?
实际上,当script标签添加之后,脚本内容开始下载/解析,甚至执行,该被运行时记录的变量都已经记录了。如果真有变量需要销毁,这也不是c,js有自己的垃圾回收机制,只要你没写出内存泄漏的代码,内存中的废弃物是会自动销毁的;换句话说,如果你代码写的倒出是问题,就算手动删了那个script标签又如何?照样内存泄漏!
补充:
如果你想提取.vue文件里的style css内容,那你的loader配置也没配对地方,应该是在vue属性里配置:
vue: {
loaders: {
js: 'babel-loader?presets[]=es2015&plugins[]=transform-runtime&comments=false',
css: ExtractTextPlugin.extract(['css-loader'])
}
},
plugins: [
new ExtractTextPlugin('output.css')
]
var style = require('style/useable!css!./file.css');
//激活,也就是在dom中添加style标签
style.use();
//销毁,也就是不想用时,可以从dom中把style标签再删掉
style.unuse(); // = style.unref();
至于你说“没有提取出来”,那是因为你用的是style-loader,如果真想提取文件,应该用extract-text-webpack-plugin。
最后关于javascript部分,script标签从dom中删除这件事,其实意义不大,这么说吧,对你来说,最想把她从dom中移除的原因是什么?因为你的用户会检查你的dom?还是因为你觉得script标签杵在那里影响了你的心情?
实际上,当script标签添加之后,脚本内容开始下载/解析,甚至执行,该被运行时记录的变量都已经记录了。如果真有变量需要销毁,这也不是c,js有自己的垃圾回收机制,只要你没写出内存泄漏的代码,内存中的废弃物是会自动销毁的;换句话说,如果你代码写的倒出是问题,就算手动删了那个script标签又如何?照样内存泄漏!
补充:
如果你想提取.vue文件里的style css内容,那你的loader配置也没配对地方,应该是在vue属性里配置:
vue: {
loaders: {
js: 'babel-loader?presets[]=es2015&plugins[]=transform-runtime&comments=false',
css: ExtractTextPlugin.extract(['css-loader'])
}
},
plugins: [
new ExtractTextPlugin('output.css')
]
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询