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')
]
按需组件引入吧,这样会减少不必要的css,当然你每个组件的css要独立出来,而且如果使用webpack 的vue-loader处理 即使重复引用同一个组件css也是同用一份,不会额外的复制多个. CSS规则的前面;@import规则条件规则组中。