关于vue打包提示Error: Expected a pseudo-class or pseudo-element

图片说明

vue打包出错,提示Error: Expected a pseudo-class or pseudo-element错误打包不成功,请问该如何解决?

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Vue多页面打包dist报错Error: Child compilation failed: Entry module not found:...

Vue多页面开发,一个是index.html,一个是one.html,配置都是按照百度经验正常配置多页面开发,能在本地浏览器正常运行。 但运行npm run build 无法正常打包,主要是看原因主要是多页面中的one.html无法识别,报如图所示错误 ![图片说明](https://img-ask.csdn.net/upload/201906/03/1559530971_97561.jpg) 请各位大神帮看看~~~

UnhandledPromiseRejectionWarning vue项目打包时出现的问题

building for production...Error processing file: static/css/app.6ce129ef56d2e457e48ece73e5051094.css (node:39068) UnhandledPromiseRejectionWarning: Error: Expected a pseudo-class or pseudo-element. at D:\vue\sell\static\css\app.6ce129ef56d2e457e48ece73e5051094.css:1697:1 at Root._error (D:\vue\sell\node_modules\_postcss-selector-parser@3.1.2@postcss-selector-parser\dist\parser.js:137:24) at Root.error (D:\vue\sell\node_modules\_postcss-selector-parser@3.1.2@postcss-selector-parser\dist\selectors\root.js:43:25) at Parser.error (D:\vue\sell\node_modules\_postcss-selector-parser@3.1.2@postcss-selector-parser\dist\parser.js:392:25) at Parser.expected (D:\vue\sell\node_modules\_postcss-selector-parser@3.1.2@postcss-selector-parser\dist\parser.js:685:25) at Parser.pseudo (D:\vue\sell\node_modules\_postcss-selector-parser@3.1.2@postcss-selector-parser\dist\parser.js:500:25) at Parser.parse (D:\vue\sell\node_modules\_postcss-selector-parser@3.1.2@postcss-selector-parser\dist\parser.js:649:22) at Parser.loop (D:\vue\sell\node_modules\_postcss-selector-parser@3.1.2@postcss-selector-parser\dist\parser.js:618:18) at new Parser (D:\vue\sell\node_modules\_postcss-selector-parser@3.1.2@postcss-selector-parser\dist\parser.js:129:14) at Processor._root (D:\vue\sell\node_modules\_postcss-selector-parser@3.1.2@postcss-selector-parser\dist\processor.js:47:22) at Processor._runSync (D:\vue\sell\node_modules\_postcss-selector-parser@3.1.2@postcss-selector-parser\dist\processor.js:83:25) at Processor.processSync (D:\vue\sell\node_modules\_postcss-selector-parser@3.1.2@postcss-selector-parser\dist\processor.js:177:27) at getParsed (D:\vue\sell\node_modules\_postcss-minify-selectors@4.0.2@postcss-minify-selectors\dist\index.js:34:59) at D:\vue\sell\node_modules\_postcss-minify-selectors@4.0.2@postcss-minify-selectors\dist\index.js:196:39 at D:\vue\sell\node_modules\_postcss@7.0.27@postcss\lib\container.js:239:18 at D:\vue\sell\node_modules\_postcss@7.0.27@postcss\lib\container.js:135:18 at Root.each (D:\vue\sell\node_modules\_postcss@7.0.27@postcss\lib\container.js:101:16) (node:39068) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1) (node:39068) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code. 请问各位大神们该如何解决

大佬们,vue 打包 报错。能帮忙看看吗? 感谢

![报错信息](https://img-ask.csdn.net/upload/201912/20/1576846689_500082.png)

关于vue 的格式规范问题:理数据

在网上找了很多例子,会单独写一个js进行axios 的方法得集中写axios方法 基本上返回的都是统一处理数据格式的 如果对单个接口来说返回的格式并不能直接应用到组件上,而是需要进行值的转换,你们会怎么写呢?写在单页面内,还是单独写一个js,还是在store文件获取数据进行处理

vue-element-admin启动报错!!!SOS

![图片说明](https://img-ask.csdn.net/upload/202002/28/1582896862_614715.jpg) 求救,刚刚下下来的时候是可以的,但是后来手贱装了一遍vue就不行了

求助:我的vue项目每次启动到这里就不动了

![图片说明](https://img-ask.csdn.net/upload/202005/18/1589783445_26593.png)

控制台运行复制的源代码提示SyntaxError: expected expression, got '<',如何修改?

``` <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="viewport" content="width=device-width,hight=device-hight,minimum-scale=1.0,maximum-scale=1.0,ser-scalable=none"/> <title>官方滑稽网</title> <style type="text/css"> body { margin: 0; padding: 0; position: relative; background-image: url(images/xh.jpg); background-position: center; /*background-repeat: no-repeat;*/ width: 100%; height: 100%; background-size: 100% 100%; } #jk { width: 30%; position: fixed; right: 10px; bottom: 40px; } </style> </head> <body id="body" onLoad="init()"> <a href="http://www.ruguoapp.com/?utm_source=ha&utm_medium=ha&utm_campaign=ha"> <image id="jk" src="images/jk-3.gif"></image> </a> <script type="text/javascript" src="js/ThreeCanvas.js"></script> <script type="text/javascript" src="js/Snow.js"></script> <script type="text/javascript"> var SCREEN_WIDTH = window.innerWidth;// var SCREEN_HEIGHT = window.innerHeight; var container; var particle;//粒子 var camera; var scene; var renderer; var starSnow = 1; var particles = []; var particleImage = new Image(); //THREE.ImageUtils.loadTexture( "img/ParticleSmoke.png" ); particleImage.src = 'images/ParticleSmoke.png'; function init() { //alert("message3"); container = document.createElement('div');//container:画布实例; document.body.appendChild(container); camera = new THREE.PerspectiveCamera( 60, SCREEN_WIDTH / SCREEN_HEIGHT, 1, 10000 ); camera.position.z = 1000; //camera.position.y = 50; scene = new THREE.Scene(); scene.add(camera); renderer = new THREE.CanvasRenderer(); renderer.setSize(SCREEN_WIDTH, SCREEN_HEIGHT); var material = new THREE.ParticleBasicMaterial( { map: new THREE.Texture(particleImage) } ); //alert("message2"); for (var i = 0; i < 500; i++) { //alert("message"); particle = new Particle3D( material); particle.position.x = Math.random() * 2000-1000; particle.position.z = Math.random() * 2000-1000; particle.position.y = Math.random() * 2000-1000; //particle.position.y = Math.random() * (1600-particle.position.z)-1000; particle.scale.x = particle.scale.y = 1; scene.add( particle ); particles.push(particle); } container.appendChild( renderer.domElement ); //document.addEventListener( 'mousemove', onDocumentMouseMove, false ); document.addEventListener( 'touchstart', onDocumentTouchStart, false ); document.addEventListener( 'touchmove', onDocumentTouchMove, false ); document.addEventListener( 'touchend', onDocumentTouchEnd, false ); setInterval( loop, 1000 / 60 ); } var touchStartX; var touchFlag = 0;//储存当前是否滑动的状态; var touchSensitive = 80;//检测滑动的灵敏度; //var touchStartY; //var touchEndX; //var touchEndY; function onDocumentTouchStart( event ) { if ( event.touches.length == 1 ) { //event.preventDefault();//取消默认关联动作; touchStartX = 0; touchStartX = event.touches[ 0 ].pageX ; //touchStartY = event.touches[ 0 ].pageY ; } } function onDocumentTouchMove( event ) { if ( event.touches.length == 1 ) { //event.preventDefault(); var direction = event.touches[ 0 ].pageX - touchStartX; if (Math.abs(direction) > touchSensitive) { if (direction>0) {touchFlag = 1;} else if (direction<0) {touchFlag = -1;}; //changeAndBack(touchFlag); } } } function onDocumentTouchEnd (event) { // if ( event.touches.length == 0 ) { // event.preventDefault(); // touchEndX = event.touches[ 0 ].pageX ; // touchEndY = event.touches[ 0 ].pageY ; // }这里存在问题 var direction = event.changedTouches[ 0 ].pageX - touchStartX; changeAndBack(touchFlag); } function changeAndBack (touchFlag) { var speedX = 25*touchFlag; touchFlag = 0; for (var i = 0; i < particles.length; i++) { particles[i].velocity=new THREE.Vector3(speedX,-10,0); } var timeOut = setTimeout(";", 800); clearTimeout(timeOut); var clearI = setInterval(function () { if (touchFlag) { clearInterval(clearI); return; }; speedX*=0.8; if (Math.abs(speedX)<=1.5) { speedX=0; clearInterval(clearI); }; for (var i = 0; i < particles.length; i++) { particles[i].velocity=new THREE.Vector3(speedX,-10,0); } },100); } function loop() { for(var i = 0; i<particles.length; i++){ var particle = particles[i]; particle.updatePhysics(); with(particle.position) { if((y<-1000)&&starSnow) {y+=2000;} if(x>1000) x-=2000; else if(x<-1000) x+=2000; if(z>1000) z-=2000; else if(z<-1000) z+=2000; } } camera.lookAt(scene.position); renderer.render( scene, camera ); } </script> <script type="text/javascript">var cnzz_protocol = (("https:" == document.location.protocol) ? " https://" : " http://");document.write(unescape("%3Cspan id='cnzz_stat_icon_1260451939'%3E%3C/span%3E%3Cscript src='" + cnzz_protocol + "s11.cnzz.com/z_stat.php%3Fid%3D1260451939%26show%3Dpic2' type='text/javascript'%3E%3C/script%3E")); </script> <!-- JiaThis Button BEGIN --> <script type="text/javascript"> var jiathis_config = {data_track_clickback:'true'}; </script> <script type="text/javascript" src="http://v3.jiathis.com/code/jiathis_r.js?move=0&amp;uid=2113296" charset="utf-8"></script> <!-- JiaThis Button END --> <a href="http://www.yzjlb.net/app/yunmian/">流量不够用?就用神力云免流!</a> </body> </html> ```

vue项目运行报错Error: Cannot find module 'es-abstract/es6'

![图片说明](https://img-ask.csdn.net/upload/201911/06/1573011220_72958.jpg)

vue执行报错Uncaught SyntaxError: Unexpected token < ?

![图片说明](https://img-ask.csdn.net/upload/201904/23/1556010722_288694.png) 为什么会报这样的错?

[Vue warn]: Error compiling template 請問如何處理

vue.esm.js?efeb:628 [Vue warn]: Error compiling template: text "">" outside root element will be ignored. template: ` <div id="app“> <nav class="navbar navbar-inverse navbar-fixed-top"> <div class="container"> <div class="navbar-header"> <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <a class="navbar-brand" href="#">Project name</a> </div> <div id="navbar" class="collapse navbar-collapse"> <ul class="nav navbar-nav"> <li class="active"><a href="#">Home</a></li> <li><a href="#about">About</a></li> <li><a href="#contact">Contact</a></li> </ul> </div><!--/.nav-collapse --> </div> </nav> <router-view></router-view> </div>` }).$mount("#app")

vue启动报错,任务栏提示error:undefine,控制台显示编译一个错误,但是没有显示原因!

![图片说明](https://img-ask.csdn.net/upload/201908/20/1566266584_127883.png) vue启动就报这个错,npm install 重试了也没用,并且任务栏右下角会报这个 ![图片说明](https://img-ask.csdn.net/upload/201908/20/1566266663_101546.png) 应该不是页面语法有问题,因为我重新新建一个vue项目,然后把所有的文件和配置都copy过来。一模一样的项目就可以启动成功,但是过一会儿又会突然报这个错,求求哪位大佬指点一下迷津呀!

解決vue.runtime.esm.js:619 [Vue warn]: Failed to resolve directive: waves

vue.runtime.esm.js:619 [Vue warn]: Failed to resolve directive: waves ``` <script> import waves from '@/components/directive/waves' export default { components: { Pagination }, directives: { waves } ...... } </script> ```

App自动化报错:Proxy error: Could not proxy command to remote server. Original error: 404 - undefined

    App启动参数如下(存放在Yaml文件中): ``` automationName: UiAutomator2 platformName: Android platformVersion: 7 deviceName: Android Emulator appPackage: com.ellabook appActivity: com.ellabook.startup.StartActivity noReset: False unicodeKeyboard: True # 将键盘给隐藏起来 resetKeyboard: True ```      其他信息:       Appium 1.15       模拟器: 雷电模拟器4.0.7       测试框架: pytest conftest.py内容如下: ``` def basedriver(port=4723, **kwargs): """ 根据设置的参数,启动会话,并返回会话对象 :param port: 会话启动端口号---int :param kwargs: 启动参数 :return: 会话对象 """ yamls = YAML(typ='safe') yaml_path = os.path.join(CAPS_PATH, "desire_caps.yaml") fs = open(yaml_path, encoding='UTF-8') desire_caps = yamls.load(fs) if kwargs: for key, value in kwargs.items(): desire_caps[key] = value driver = webdriver.Remote("http://localhost:{}/wd/hub".format(port), desire_caps) return driver @pytest.fixture(scope="class") def initdriver_first_start(): """App首次启动""" driver = basedriver(noReset=False) yield driver driver.close() ```     测试用例py文件内容: ``` @pytest.mark.usefixtures("initdriver_first_start") class TestAPPStart: """APP启动页测试: 是否进入启动页 、banner图正常滑动、点击"开始看书吧"进入登录界面 """ def test_0_into_start(self, initdriver_first_start): """APP首次启动,启动页是否展示“开始阅读吧”按钮 """ driver = initdriver_first_start AppStartPage(driver).check_read_book_is_exist() def test_banner_left_slip(self, initdriver_first_start): """APP首次启动,启动页广告图能够向左滑""" driver = initdriver_first_start AppStartPage(driver).slide_start_banner("left") # App首次启动,banner广告图正常切换 def test_banner_right_slip(self, initdriver_first_start): """APP首次启动,启动页广告图能够能够向右滑""" driver = initdriver_first_start AppStartPage(driver).slide_start_banner("right") # App首次启动,banner广告图正常切换 def test_click_button(self, initdriver_first_start): """APP首次启动,点击开始按钮,查看是否进入登录界面""" driver = initdriver_first_start AppStartPage(driver).click_start_read() # 点击“开始阅读” 按钮 LoginPage(driver).check_into_login_idle() # 查看是否进入登录界面 ```     APP启动页测试 测试类(pytest/py.test方式)运行,此时用例执行完成后,在进行测试类的teardown时,却报错: selenium.common.exceptions.WebDriverException: Message: An unknown server-side error occurred while processing the command. Original error: Could not proxy. Proxy error: Could not proxy command to remote server. Original error: 404 - undefined ![图片说明](https://img-ask.csdn.net/upload/201912/26/1577335992_418416.png)  网上百度了一堆资料,但依旧没有相关: 404 - undefined 的报错类型的解决方法(忧伤)

vue-router浏览器报了个错误显示不出来求大神帮我看看

![图片说明](https://img-ask.csdn.net/upload/202002/20/1582200516_923962.jpg)![图片说明](https://img-ask.csdn.net/upload/202002/20/1582200521_987163.jpg)![图片说明](https://img-ask.csdn.net/upload/202002/20/1582200527_311446.jpg)![图片说明](https://img-ask.csdn.net/upload/202002/20/1582200531_449985.jpg)![图片说明](https://img-ask.csdn.net/upload/202002/20/1582200536_453209.jpg)![图片说明](https://img-ask.csdn.net/upload/202002/20/1582200588_685602.jpg)

关于Vue自定义组件的错误

``` <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <script src="vue.js" type="text/javascript"></script> </head> <body> <div id="app"> <fuqin></fuqin> </div> <template id="t1"> <div> 父组件, {{attr}} <erzi></erzi> </div> </template> <template id="t2"> <div> 子组件, {{attr1}} </div> </template> <script type="text/javascript"> var vm=new Vue({ el:'#app', components:{ "fuqin":{ template:"#t1", data(){ return{ attr:"父组件的数据" } } }, components:{ 'erzi':{ template:"#t2", data(){ return{ attr1:"子组件的数据" } } } } } }); </script> </body> </html> ``` 大佬帮我看看哪错了 这里是报错: [Vue warn]: Unknown custom element: <erzi> - did you register the component correctly? For recursive components, make sure to provide the "name" option. found in ---> <Fuqin> <Root>

vue-cli 打包文件报错

# vue-cli 打包文件报错 报错代码如下 ```shell > canteen@1.0.0 build D:\桌面\workPlace\07.items\06..canteen > node build/build.js / building for production...Error processing file: static/css/app.9e1b2591f3911ed3227be61dd300833e.css (node:1908) UnhandledPromiseRejectionWarning: postcss-svgo: Error in parsing SVG: Unquoted attribute value Line: 0 Column: 14 Char: \ (node:1908) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 3) (node:1908) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code. ``` - 也修改了 config/index.js 下面的 build ```js build: { // Template for index.html index: path.resolve(__dirname, '../dist/index.html'), // Paths assetsRoot: path.resolve(__dirname, '../dist'), assetsSubDirectory: 'static', assetsPublicPath: './', /** * Source Maps */ productionSourceMap: false, // https://webpack.js.org/configuration/devtool/#production devtool: '#source-map', // Gzip off by default as many popular static hosts such as // Surge or Netlify already gzip all static assets for you. // Before setting to `true`, make sure to: // npm install --save-dev compression-webpack-plugin productionGzip: false, productionGzipExtensions: ['js', 'css'], // Run the build command with an extra argument to // View the bundle analyzer report after build finishes: // `npm run build --report` // Set to `true` or `false` to always turn it on or off bundleAnalyzerReport: process.env.npm_config_report } ``` 但是还是报错,有没有大佬支招

Uncaught SyntaxError: Unexpected token <

1.我的HTML代码 ![图片说明](https://img-ask.csdn.net/upload/201812/28/1545979226_849966.png) 我文件保存路径 ![图片说明](https://img-ask.csdn.net/upload/201812/28/1545979269_588793.png) 报错信息 ![图片说明](https://img-ask.csdn.net/upload/201812/28/1545979300_697052.png) ![图片说明](https://img-ask.csdn.net/upload/201812/28/1545979309_714405.png) 但是js是引入成功的 ![图片说明](https://img-ask.csdn.net/upload/201812/28/1545979358_927566.png) 痛苦好几天了,真的难受啊,大神帮帮忙吧

在装了element-ui的vue项目中npm run dev的时候报错了,求教如何解决

在装了element-ui的vue项目中npm run dev的时候报错了 These dependencies were not found: * throttle-debounce/debounce in ./node_modules/_element-ui@2.6.1@element-ui/lib/element-ui.common.js, ./node_modules/_element-ui@2.6.1@element-ui/lib/tooltip.js and 1 other * throttle-debounce/throttle in ./node_modules/_element-ui@2.6.1@element-ui/lib/element-ui.common.js To install them, you can run: npm install --save throttle-debounce/debounce throttle-debounce/throttle 请问该如何解决

VUE build的时候app css CssSyntaxError错误

vue build的时候app css CssSyntaxError错误,run dev可以正常启动 错误信息如下 ``` - building for production...Error processing file: static/css/app.97c058584faa589ff57590333e2787e8.css (node:3172) UnhandledPromiseRejectionWarning: CssSyntaxError: G:\vue\recms-adminVue\static\css\app.97c058584faa589ff57590333e2787e8.css:1293:8: Unknown word at Input.error (G:\vue\recms-adminVue\node_modules\_postcss@7.0.17@postcss\lib\input.js:130:16) at Parser.unknownWord (G:\vue\recms-adminVue\node_modules\_postcss@7.0.17@postcss\lib\parser.js:563:22) at Parser.decl (G:\vue\recms-adminVue\node_modules\_postcss@7.0.17@postcss\lib\parser.js:235:16) at Parser.other (G:\vue\recms-adminVue\node_modules\_postcss@7.0.17@postcss\lib\parser.js:133:18) at Parser.parse (G:\vue\recms-adminVue\node_modules\_postcss@7.0.17@postcss\lib\parser.js:77:16) at parse (G:\vue\recms-adminVue\node_modules\_postcss@7.0.17@postcss\lib\parse.js:17:12) at new LazyResult (G:\vue\recms-adminVue\node_modules\_postcss@7.0.17@postcss\lib\lazy-result.js:60:16) at Processor.<anonymous> (G:\vue\recms-adminVue\node_modules\_postcss@7.0.17@postcss\lib\processor.js:138:12) at Processor.process (G:\vue\recms-adminVue\node_modules\_postcss@7.0.17@postcss\lib\processor.js:117:23) at Function.creator.process (G:\vue\recms-adminVue\node_modules\_postcss@7.0.17@postcss\lib\postcss.js:148:43) at OptimizeCssAssetsPlugin.processCss (G:\vue\recms-adminVue\node_modules\_optimize-css-assets-webpack-plugin@3.2.1@optimize-css-assets-webpack-plugin\index.js :63:19) at Object.processor (G:\vue\recms-adminVue\node_modules\_optimize-css-assets-webpack-plugin@3.2.1@optimize-css-assets-webpack-plugin\index.js:29:23) at G:\vue\recms-adminVue\node_modules\_last-call-webpack-plugin@2.1.2@last-call-webpack-plugin\index.js:139:8 at arrayEach (G:\vue\recms-adminVue\node_modules\_lodash@4.17.14@lodash\_arrayEach.js:15:9) at forEach (G:\vue\recms-adminVue\node_modules\_lodash@4.17.14@lodash\forEach.js:38:10) at LastCallWebpackPlugin.process (G:\vue\recms-adminVue\node_modules\_last-call-webpack-plugin@2.1.2@last-call-webpack-plugin\index.js:136:3) (node:3172) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch blo ck, or by rejecting a promise which was not handled with .catch(). (rejection id: 2) (node:3172) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the No de.js process with a non-zero exit code. ``` build.js的代码 ``` const ora = require('ora') const rm = require('rimraf') const path = require('path') const chalk = require('chalk') const webpack = require('webpack') const config = require('../config') const webpackConfig = require('./webpack.prod.conf') const spinner = ora('building for production...') spinner.start() rm(path.join(config.build.assetsRoot, config.build.assetsSubDirectory), err => { if (err) throw err webpack(webpackConfig, function (err, stats) { spinner.stop() if (err) throw err process.stdout.write(stats.toString({ colors: true, modules: false, children: false, chunks: false, chunkModules: false }) + '\n\n') if (stats.hasErrors()) { console.log(chalk.red(' Build failed with errors.\n')) process.exit(1) } console.log(chalk.cyan(' Build complete.\n')) console.log(chalk.yellow( ' Tip: built files are meant to be served over an HTTP server.\n' + ' Opening index.html over file:// won\'t work.\n' )) }) }) ``` webpack.prod.conf.js的配置 ``` const env = require('../config/prod.env') const webpackConfig = merge(baseWebpackConfig, { module: { rules: utils.styleLoaders({ sourceMap: config.build.productionSourceMap, extract: true, usePostCSS: true }) }, devtool: config.build.productionSourceMap ? config.build.devtool : false, output: { path: config.build.assetsRoot, filename: utils.assetsPath('js/[name].[chunkhash].js'), chunkFilename: utils.assetsPath('js/[id].[chunkhash].js') }, plugins: [ // http://vuejs.github.io/vue-loader/en/workflow/production.html new webpack.DefinePlugin({ 'process.env': env }), // UglifyJs do not support ES6+, you can also use babel-minify for better treeshaking: https://github.com/babel/minify new webpack.optimize.UglifyJsPlugin({ compress: { warnings: false }, sourceMap: config.build.productionSourceMap, parallel: true }), // extract css into its own file new ExtractTextPlugin({ filename: utils.assetsPath('css/[name].[contenthash].css'), // set the following option to `true` if you want to extract CSS from // codesplit chunks into this main css file as well. // This will result in *all* of your app's CSS being loaded upfront. allChunks: false, }), // Compress extracted CSS. We are using this plugin so that possible // duplicated CSS from different components can be deduped. new OptimizeCSSPlugin({ cssProcessorOptions: config.build.productionSourceMap ? { safe: true, map: { inline: false } } : { safe: true } }), // generate dist index.html with correct asset hash for caching. // you can customize output by editing /index.html // see https://github.com/ampedandwired/html-webpack-plugin new HtmlWebpackPlugin({ filename: config.build.index, template: 'index.html', inject: true, minify: { removeComments: true, collapseWhitespace: true, removeAttributeQuotes: true // more options: // https://github.com/kangax/html-minifier#options-quick-reference }, // necessary to consistently work with multiple chunks via CommonsChunkPlugin chunksSortMode: 'dependency' }), // keep module.id stable when vender modules does not change new webpack.HashedModuleIdsPlugin(), // enable scope hoisting new webpack.optimize.ModuleConcatenationPlugin(), // split vendor js into its own file new webpack.optimize.CommonsChunkPlugin({ name: 'vendor', minChunks: function (module) { // any required modules inside node_modules are extracted to vendor return ( module.resource && /\.js$/.test(module.resource) && module.resource.indexOf( path.join(__dirname, '../node_modules') ) === 0 ) } }), // extract webpack runtime and module manifest to its own file in order to // prevent vendor hash from being updated whenever app bundle is updated new webpack.optimize.CommonsChunkPlugin({ name: 'manifest', minChunks: Infinity }), // This instance extracts shared chunks from code splitted chunks and bundles them // in a separate chunk, similar to the vendor chunk // see: https://webpack.js.org/plugins/commons-chunk-plugin/#extra-async-commons-chunk new webpack.optimize.CommonsChunkPlugin({ name: 'app', async: 'vendor-async', children: true, minChunks: 3 }), // copy custom static assets new CopyWebpackPlugin([ { from: path.resolve(__dirname, '../static'), to: config.build.assetsSubDirectory, ignore: ['.*'] } ]) ] }) if (config.build.productionGzip) { const CompressionWebpackPlugin = require('compression-webpack-plugin') webpackConfig.plugins.push( new CompressionWebpackPlugin({ asset: '[path].gz[query]', algorithm: 'gzip', test: new RegExp( '\\.(' + config.build.productionGzipExtensions.join('|') + ')$' ), threshold: 10240, minRatio: 0.8 }) ) } if (config.build.bundleAnalyzerReport) { const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin webpackConfig.plugins.push(new BundleAnalyzerPlugin()) } module.exports = webpackConfig ```

大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了

大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...

在中国程序员是青春饭吗?

今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...

程序员请照顾好自己,周末病魔差点一套带走我。

程序员在一个周末的时间,得了重病,差点当场去世,还好及时挽救回来了。

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

和黑客斗争的 6 天!

互联网公司工作,很难避免不和黑客们打交道,我呆过的两家互联网公司,几乎每月每天每分钟都有黑客在公司网站上扫描。有的是寻找 Sql 注入的缺口,有的是寻找线上服务器可能存在的漏洞,大部分都...

点沙成金:英特尔芯片制造全过程揭密

“亚马逊丛林里的蝴蝶扇动几下翅膀就可能引起两周后美国德州的一次飓风……” 这句人人皆知的话最初用来描述非线性系统中微小参数的变化所引起的系统极大变化。 而在更长的时间尺度内,我们所生活的这个世界就是这样一个异常复杂的非线性系统…… 水泥、穹顶、透视——关于时间与技艺的蝴蝶效应 公元前3000年,古埃及人将尼罗河中挖出的泥浆与纳特龙盐湖中的矿物盐混合,再掺入煅烧石灰石制成的石灰,由此得来了人...

讲一个程序员如何副业月赚三万的真实故事

loonggg读完需要3分钟速读仅需 1 分钟大家好,我是你们的校长。我之前讲过,这年头,只要肯动脑,肯行动,程序员凭借自己的技术,赚钱的方式还是有很多种的。仅仅靠在公司出卖自己的劳动时...

上班一个月,后悔当初着急入职的选择了

最近有个老铁,告诉我说,上班一个月,后悔当初着急入职现在公司了。他之前在美图做手机研发,今年美图那边今年也有一波组织优化调整,他是其中一个,在协商离职后,当时捉急找工作上班,因为有房贷供着,不能没有收入来源。所以匆忙选了一家公司,实际上是一个大型外包公司,主要派遣给其他手机厂商做外包项目。**当时承诺待遇还不错,所以就立马入职去上班了。但是后面入职后,发现薪酬待遇这块并不是HR所说那样,那个HR自...

女程序员,为什么比男程序员少???

昨天看到一档综艺节目,讨论了两个话题:(1)中国学生的数学成绩,平均下来看,会比国外好?为什么?(2)男生的数学成绩,平均下来看,会比女生好?为什么?同时,我又联想到了一个技术圈经常讨...

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

MySQL数据库面试题(2020最新版)

文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)...

如果你是老板,你会不会踢了这样的员工?

有个好朋友ZS,是技术总监,昨天问我:“有一个老下属,跟了我很多年,做事勤勤恳恳,主动性也很好。但随着公司的发展,他的进步速度,跟不上团队的步伐了,有点...

我入职阿里后,才知道原来简历这么写

私下里,有不少读者问我:“二哥,如何才能写出一份专业的技术简历呢?我总感觉自己写的简历太烂了,所以投了无数份,都石沉大海了。”说实话,我自己好多年没有写过简历了,但我认识的一个同行,他在阿里,给我说了一些他当年写简历的方法论,我感觉太牛逼了,实在是忍不住,就分享了出来,希望能够帮助到你。 01、简历的本质 作为简历的撰写者,你必须要搞清楚一点,简历的本质是什么,它就是为了来销售你的价值主张的。往深...

我说我不会算法,阿里把我挂了。

不说了,字节跳动也反手把我挂了。

优雅的替换if-else语句

场景 日常开发,if-else语句写的不少吧??当逻辑分支非常多的时候,if-else套了一层又一层,虽然业务功能倒是实现了,但是看起来是真的很不优雅,尤其是对于我这种有强迫症的程序"猿",看到这么多if-else,脑袋瓜子就嗡嗡的,总想着解锁新姿势:干掉过多的if-else!!!本文将介绍三板斧手段: 优先判断条件,条件不满足的,逻辑及时中断返回; 采用策略模式+工厂模式; 结合注解,锦...

离职半年了,老东家又发 offer,回不回?

有小伙伴问松哥这个问题,他在上海某公司,在离职了几个月后,前公司的领导联系到他,希望他能够返聘回去,他很纠结要不要回去? 俗话说好马不吃回头草,但是这个小伙伴既然感到纠结了,我觉得至少说明了两个问题:1.曾经的公司还不错;2.现在的日子也不是很如意。否则应该就不会纠结了。 老实说,松哥之前也有过类似的经历,今天就来和小伙伴们聊聊回头草到底吃不吃。 首先一个基本观点,就是离职了也没必要和老东家弄的苦...

为什么你不想学习?只想玩?人是如何一步一步废掉的

不知道是不是只有我这样子,还是你们也有过类似的经历。 上学的时候总有很多光辉历史,学年名列前茅,或者单科目大佬,但是虽然慢慢地长大了,你开始懈怠了,开始废掉了。。。 什么?你说不知道具体的情况是怎么样的? 我来告诉你: 你常常潜意识里或者心理觉得,自己真正的生活或者奋斗还没有开始。总是幻想着自己还拥有大把时间,还有无限的可能,自己还能逆风翻盘,只不是自己还没开始罢了,自己以后肯定会变得特别厉害...

男生更看重女生的身材脸蛋,还是思想?

往往,我们看不进去大段大段的逻辑。深刻的哲理,往往短而精悍,一阵见血。问:产品经理挺漂亮的,有点心动,但不知道合不合得来。男生更看重女生的身材脸蛋,还是...

为什么程序员做外包会被瞧不起?

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中xx,但待遇感觉挺低,马上要报到,挺纠结的。

当HR压你价,说你只值7K,你该怎么回答?

当HR压你价,说你只值7K时,你可以流畅地回答,记住,是流畅,不能犹豫。 礼貌地说:“7K是吗?了解了。嗯~其实我对贵司的面试官印象很好。只不过,现在我的手头上已经有一份11K的offer。来面试,主要也是自己对贵司挺有兴趣的,所以过来看看……”(未完) 这段话主要是陪HR互诈的同时,从公司兴趣,公司职员印象上,都给予对方正面的肯定,既能提升HR的好感度,又能让谈判气氛融洽,为后面的发挥留足空间。...

面试:第十六章:Java中级开发(16k)

HashMap底层实现原理,红黑树,B+树,B树的结构原理 Spring的AOP和IOC是什么?它们常见的使用场景有哪些?Spring事务,事务的属性,传播行为,数据库隔离级别 Spring和SpringMVC,MyBatis以及SpringBoot的注解分别有哪些?SpringMVC的工作原理,SpringBoot框架的优点,MyBatis框架的优点 SpringCould组件有哪些,他们...

面试阿里p7,被按在地上摩擦,鬼知道我经历了什么?

面试阿里p7被问到的问题(当时我只知道第一个):@Conditional是做什么的?@Conditional多个条件是什么逻辑关系?条件判断在什么时候执...

你打算用Java 8一辈子都不打算升级到Java 14,真香

我们程序员应该抱着尝鲜、猎奇的心态,否则就容易固步自封,技术停滞不前。

无代码时代来临,程序员如何保住饭碗?

编程语言层出不穷,从最初的机器语言到如今2500种以上的高级语言,程序员们大呼“学到头秃”。程序员一边面临编程语言不断推陈出新,一边面临由于许多代码已存在,程序员编写新应用程序时存在重复“搬砖”的现象。 无代码/低代码编程应运而生。无代码/低代码是一种创建应用的方法,它可以让开发者使用最少的编码知识来快速开发应用程序。开发者通过图形界面中,可视化建模来组装和配置应用程序。这样一来,开发者直...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

《经典算法案例》01-08:如何使用质数设计扫雷(Minesweeper)游戏

我们都玩过Windows操作系统中的经典游戏扫雷(Minesweeper),如果把质数当作一颗雷,那么,表格中红色的数字哪些是雷(质数)?您能找出多少个呢?文中用列表的方式罗列了10000以内的自然数、质数(素数),6的倍数等,方便大家观察质数的分布规律及特性,以便对算法求解有指导意义。另外,判断质数是初学算法,理解算法重要性的一个非常好的案例。

《Oracle Java SE编程自学与面试指南》最佳学习路线图(2020最新版)

正确选择比瞎努力更重要!

一文带你入门Java Stream流,太强了

两个星期以前,就有读者强烈要求我写一篇 Java Stream 流的文章,我说市面上不是已经有很多了吗,结果你猜他怎么说:“就想看你写的啊!”你看你看,多么苍白的喜欢啊。那就“勉为其难”写一篇吧,嘻嘻。 单从“Stream”这个单词上来看,它似乎和 java.io 包下的 InputStream 和 OutputStream 有些关系。实际上呢,没毛关系。Java 8 新增的 Stream 是为...

立即提问
相关内容推荐