国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

javascript - vue單頁面應用怎么把樣式抽取到一個獨立文件?

瀏覽:83日期:2023-03-20 08:05:24

問題描述

問題是這樣的現在在做一個SAP應用,webpack配置了抽取文件出來。樣式既沒有抽取成一個文件也沒有被webpack打包到js里面,而是在頁面上生成style標簽了。求大神指教。用的是vue2,webpack2webpack配置:

var path = require(’path’)var vuxLoader = require('vux-loader');var webpack = require(’webpack’);var ExtractTextPlugin = require('extract-text-webpack-plugin');const webpackConfig = { entry: ’./src/main.js’, output: { path: path.resolve(__dirname, ’./dist’), publicPath: ’/dist/’, filename: ’build.js’ }, module: { rules: [ { test: /.vue$/, loader: ’vue-loader’, options: { loaders: { ’scss’: ’vue-style-loader!css-loader!sass-loader’, ’sass’: ’vue-style-loader!css-loader!sass-loader?indentedSyntax’ } } }, { test: /.js$/, loader: ’babel-loader’, exclude: /node_modules/ }, { test: /iview.src.*?js$/, loader: ’babel’ }, { test: /.css$/, use:new ExtractTextPlugin({ filename:’build.css’, ignoreOrder:true }).extract({ use:{ loader:’css-loader’, options:{modules:true } }, fallback:’style-loader’ }) }, { test: /.less$/, loader:’style-loader!css-loader!less-loader’ }, { test: /.(eot|woff|woff2|ttf)$/, loader: ’url-loader?limit=30000&name=[name]-[hash].[ext]’ }, { test: /.(png|jpg|gif|svg)$/, loader: ’file-loader’, options: { name: ’[name].[ext]?[hash]’ } } ] }, vue:{ loaders :{ css: ExtractTextPlugin.extract({fallback:’style-loader’, use:’css-loader’}) } }, resolve: { alias: { ’vue$’: ’vue/dist/vue.esm.js’ }, extensions: [’.js’, ’.vue’, ’.json’] }, devServer: { historyApiFallback: true, noInfo: true }, performance: { hints: false }, devtool: ’#eval-source-map’};module.exports = vuxLoader.merge(webpackConfig, {plugins:[’vux-ui’]});if (process.env.NODE_ENV === ’production’) { module.exports.devtool = ’#source-map’ // http://vue-loader.vuejs.org/en/workflow/production.html module.exports.plugins = (module.exports.plugins || []).concat([ new webpack.DefinePlugin({ ’process.env’: {NODE_ENV: ’'production'’ } }), new webpack.optimize.UglifyJsPlugin({ sourceMap: true, compress: {warnings: false } }), new webpack.LoaderOptionsPlugin({ minimize: true }) ])}

package.json:

{ 'name': 'blog', 'description': 'leung blog mobile', 'version': '1.0.0', 'author': 'leung', 'private': true, 'scripts': { 'dev': 'cross-env NODE_ENV=development webpack-dev-server --open --hot --port 8082', 'build': 'cross-env NODE_ENV=production webpack --progress --hide-modules' }, 'dependencies': { 'vue': '^2.2.1' }, 'devDependencies': { 'axios': '^0.16.0', 'babel-core': '^6.0.0', 'babel-loader': '^6.0.0', 'babel-preset-latest': '^6.0.0', 'cross-env': '^3.0.0', 'css-loader': '^0.25.0', 'extract-text-webpack-plugin': '^2.1.0', 'file-loader': '^0.9.0', 'less-loader': '^4.0.3', 'node-sass': '^4.5.0', 'sass-loader': '^5.0.1', 'style-loader': '^0.16.1', 'url-loader': '^0.5.8', 'vue-loader': '^11.1.4', 'vue-router': '^2.3.1', 'vue-style-loader': '^3.0.1', 'vue-template-compiler': '^2.2.1', 'vuex': '^2.2.1', 'vux': '^2.2.1-rc.5', 'vux-loader': '^1.0.57', 'webpack': '^2.2.0', 'webpack-dev-server': '^2.2.0' }}

如果我把這段代碼注釋了就沒報錯了 T_T

vue:{ loaders :{ css: ExtractTextPlugin.extract({fallback:’style-loader’, use:’css-loader’}) } },

搞不懂,求賜教

問題解答

回答1:

下面這個例子給你參考,希望對你有幫助

const path = require(’path’);const webpack = require(’webpack’);const ExtractTextPlugin = require('extract-text-webpack-plugin');const HtmlWebpackPlugin = require(’html-webpack-plugin’);module.exports = { entry: { main: ’./src/index.js’, vendor: [’vue’, ’vue-router’,’vuex’] }, output: { path: path.resolve(__dirname, ’dist’), publicPath: ’’, filename: ’js/build.js’ }, module: { rules: [{test: /.vue$/,use: [{ loader: ’vue-loader’, options: { loaders: { css: ExtractTextPlugin.extract({use: ’css-loader’,fallback: ’vue-style-loader’ }) }, }}] }, {test: /.(js|jsx)$/,use: [{ loader: ’babel-loader’,}],exclude: /node_modules/ }, {test: /.(png|jpg|gif|svg)$/,use: [{ loader: ’file-loader’, options: { name: ’images/[name].[ext]’ }}] } ] }, plugins: [ new webpack.optimize.CommonsChunkPlugin({ name: ’vendor’, filename: ’js/vendor.min.js’, }), new ExtractTextPlugin('css/style.css'), new HtmlWebpackPlugin({ template: ’public/index.html’ }) ], resolve: { alias: { ’vue$’: ’vue/dist/vue.esm.js’ } }, devServer: { contentBase: path.join(__dirname, 'dist'), stats: 'errors-only', port: 9000, historyApiFallback: true, noInfo: true }, performance: { hints: false }, devtool: ’#eval-source-map’}if (process.env.NODE_ENV === ’production’) { module.exports.devtool = ’#source-map’ module.exports.plugins = (module.exports.plugins || []).concat([ new webpack.DefinePlugin({ ’process.env’: {NODE_ENV: ’'production'’ } }), new webpack.optimize.UglifyJsPlugin({ sourceMap: true, compress: {warnings: false } }), new webpack.LoaderOptionsPlugin({ minimize: true }) ])}

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 国产深夜福利视频网站在线观看 | 美女张开腿让男人桶爽免费网站 | 国产精品日韩专区 | www中文字幕在线观看 | 久久爽久久爽久久免费观看 | 亚洲国产精品网站久久 | 国产香蕉成人综合精品视频 | 国产免费一区二区在线看 | 97在线观看免费版 | 黄影院 | 国内精品久久久久久久星辰影视 | 日本免费一区尤物 | 国产手机视频 | 午夜精品久久久久久毛片 | 免费在线观看一区二区 | 成人亚洲精品 | 加勒比色久综合在线 | 欧美一级第一免费高清 | 加勒比日本 | 一级做a爰性色毛片免费 | 日韩精品中文字幕在线 | 欧美视频一区二区三区 | 久久九九精品一区二区 | 国产精品久久久久久久久久久久久久 | 国产亚洲精品久久 | 欧美国产一区二区三区 | 国产日韩精品欧美一区视频 | 久久99精品久久久久久秒播 | 亚洲人成网站色7799在线观看 | 国产成人lu在线视频 | 国产成人免费在线观看 | 特级aa毛片在线播放 | 成年美女黄网站小视频 | 日本久久一区二区 | 久久只有这才是精品99 | 日韩欧美一区二区三区不卡视频 | 久久精品国产线看观看亚洲 | 国产一区二区久久 | 久久综合免费视频 | 91人人视频国产香蕉 | 黄色美女在线观看 |