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

3个回答

haolanlan
haolanlan 回复vuqyanying: 1、暂时解决办法 webpack.prod.conf.js //const OptimizeCSSPlugin = require('optimize-css-assets-webpack-plugin') 解决办法,暂时注释掉 //const OptimizeCSSPlugin = require('optimize-css-assets-webpack-plugin') //new OptimizeCSSPlugin({ // cssProcessorOptions: config.build.productionSourceMap //? { safe: true, map: { inline: false } } // : { safe: true } //}),
9 个月之前 回复
a472594768
vuqyanying 谢谢,试了还是报这个异常。而且app.97c058584faa589ff57590333e2787e8.css:1293:8: Unknown word,这个CSSbuild失败后,并不会生成,所以没办法找1293行到底是什么问题
9 个月之前 回复

1、暂时解决办法

webpack.prod.conf.js

//const OptimizeCSSPlugin = require('optimize-css-assets-webpack-plugin')

解决办法,暂时注释掉
//const OptimizeCSSPlugin = require('optimize-css-assets-webpack-plugin')
//new OptimizeCSSPlugin({
// cssProcessorOptions: config.build.productionSourceMap
//? { safe: true, map: { inline: false } }
// : { safe: true }
//}),

F_mustang
F_mustang 回复起床失败正在重起: 同问
8 个月之前 回复
qq_27582433
攻城狮007 回复起床失败正在重起: 你好! 我今天也遇到这个问题了 你有解决方法了吗?
8 个月之前 回复
weixin_44156255
起床失败正在重起 你好,注释掉之后已经已经可以正常打包了,感谢。但是新的问题是,注释掉之后css没有进行压缩处理,这样的问题该怎么解决呢,有没有比注释掉更好的解决办法呢
9 个月之前 回复

我今天也遇到 了同样的问题,一个个排除后,居然发现是因为,有一个文件里面的一句css代码 我用了 ‘//’来注释了。 去掉之后 ,打包就通过了

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
大佬们,vue项目build不成功,该怎么办
## # 大佬们,求助! 我vue项目本地运行没问题,可是打包的时候就报错。看报错好像是css-loader的问题,可是不知道怎么解决。对于配置这些实在是一知半解 好几个报错都一样,截其中一个 ![图片说明](https://img-ask.csdn.net/upload/201911/24/1574534488_474873.png) 这是我的vue.config.js 的配置 ``` const path = require("path"); module.exports = { publicPath:'./', devServer: { open: true, //配置自动启动浏览器 host: "localhost", port: 8081, // 端口号 https: false, hotOnly: false, // https:{type:Boolean} proxy: { // 配置跨域 "/api": { target: "http://data.api51.cn/", //源地址 changeOrigin: true, //改变源 ws: true, //是否代理websockets pathRewrite: { "^/api": "" } } }, // 配置跨域处理,只有一个代理 before: app => {} }, pluginOptions: { "style-resources-loader": { preProcessor: "less", patterns: [] } }, configureWebpack: config => { require("vux-loader").merge(config, { options: {}, plugins: [ { name: "vux-ui" }, { name: "less-theme", path: "src/style/theme.less" } ] }); } }; ``` 这是版本信息 ![图片说明](https://img-ask.csdn.net/upload/201911/25/1574666015_531346.png)
请教关于使用JS实现浏览器简单自动登录的脚本
本人想用 JS 实现谷歌浏览器自动登录功能 以下为JS代码 ``` document.getElementById('username').value='admin'; document.getElementById('password').value='123456'; credentials.username='admin'; credentials.password='123456'; document.getElementById("submit").disabled=false; document.getElementById('submit').click(); ``` 目前问题是 用户名和密码都有 ng-model属性, 导致一直提示账号密码错误。 请问这种情况下 应该怎么修改。请各位大神指导下。 问题关键点: 关键点是 ng-model属性是双向绑定,页面提交的数据是credentials,而不是某个输入框的VALUE ;单独改VALUE或者直接credentials.username=赋值提交后是无效的。还是账号密码错误。;需要解决的是这种情况下如何给credentials里面的credentials.username和credentials。password正确的赋值。 下面是网页的源码: ``` <!DOCTYPE html><html class="no-js vui-layout-html" ng-app="esxUiApp" style="min-width: 768px;"><head class=""><style type="text/css" class="">@charset "UTF-8";[ng\:cloak],[ng-cloak],[data-ng-cloak],[x-ng-cloak],.ng-cloak,.x-ng-cloak,.ng-hide:not(.ng-hide-animate){display:none !important;}ng\:form{display:block;}</style> <title ng-bind="$root.title" class="">登录 - VMware ESXi</title> <meta charset="utf-8" class=""> <meta http-equiv="X-UA-Compatible" content="IE=edge" class=""> <meta http-equiv="cache-control" content="max-age=0" class=""> <meta http-equiv="cache-control" content="no-cache" class=""> <meta http-equiv="expires" content="0" class=""> <meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT" class=""> <meta http-equiv="pragma" content="no-cache" class=""> <meta name="description" content="" class=""> <!-- The initial, max and min scale settings --> <meta name="viewport" content=" width=device-width, initial-scale=0.5001, minimum-scale=1.0001, maximum-scale=5.0001, user-scalable=yes" class=""> <!-- The following will hide the chrome on mobile Safari and Chrome on Android if the user has added a shortcut to their home screen. --> <meta name="mobile-web-app-capable" content="yes" class=""> <meta name="apple-mobile-web-app-capable" content="yes" class=""> <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" class=""> <link rel="stylesheet" href="bower_components/vui-bootstrap/css/vui-bootstrap.min.css" class=""> <link rel="stylesheet" href="bower_components/jquery-ui/themes/base/jquery-ui.min.css" class=""> <link rel="stylesheet" href="bower_components/codemirror/lib/codemirror.css" class=""> <link rel="stylesheet" href="bower_components/codemirror/theme/mdn-like.css" class=""> <link rel="stylesheet" href="bower_components/nvd3/build/nv.d3.min.css" class=""> <link rel="stylesheet" href="bower_components/eonasdan-bootstrap-datetimepicker/build/css/bootstrap-datetimepicker.min.css" class=""> <link rel="icon" type="image/x-icon" href="favicon.ico" class=""> <link rel="apple-touch-icon" href="apple-touch-icon.png" class=""> <link rel="stylesheet" href="node_modules/vfeed/vfeed.css" class=""> <!-- build:css(.tmp) styles/main.css --> <link rel="stylesheet" href="styles/main.css" class=""> <!-- endbuild --> <!-- we use vendor.css to allow partner customizations, normally it is empty --> <link rel="stylesheet" href="styles/vendor.css" class=""> <script type="text/javascript" charset="utf-8" async="" data-requirecontext="_" data-requiremodule="main" src="scripts/main.js" class=""></script></head> <body ng-app="esxUiApp" class="base-app-style" style="overflow: hidden;"> <!--[if lt IE 7]> <p class="browsehappy"> You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience. </p> <![endif]--> <!-- Add your site or application content here --> <div class=""> <!-- uiView: --><div ui-view="" class=""><div class="loginContainer"> <img id="topSplash" src="images/AppBgPattern.png" alt="背景图像"> <div style="position: absolute; top: 65px; left: 65px;"> <img src="images/vmware_logo_white_transparent.png" style="width: 60%;"> </div> <form name="loginForm" ng-submit="login(credentials)" novalidate="" class="ng-pristine ng-valid"> <div id="loginForm"> <p class="loginRow ng-hide" ng-show="devmode || electron"> <label id="host-label" class="loginLabel">主机名 <input id="hostname" autocomplete="off" aria-labelledby="host-label" tabindex="1" ng-disabled="loggingIn" ng-class="{loginFailed: loginFailed}" class="margeTextInput ng-pristine ng-untouched ng-valid" type="text" ng-model="credentials.hostname" ng-model-options="{ updateOn: 'blur' }"> </label> </p> <p class="loginRow"> <label id="username-label" class="loginLabel">用户名 <input id="username" aria-labelledby="username-label" tabindex="2" focus-me="true" ng-disabled="loggingIn" ng-class="{loginFailed: loginFailed}" class="margeTextInput ng-pristine ng-valid ng-touched" type="text" ng-model="credentials.username"> </label> </p> <p class="loginRow"> <label id="password-label" class="loginLabel">密码 <input id="password" autocomplete="off" aria-labelledby="password-label" tabindex="4" ng-disabled="loggingIn" ng-class="{loginFailed: loginFailed}" class="margeTextInput ng-pristine ng-untouched ng-valid" type="password" ng-model="credentials.password"> </label> </p> <p>&nbsp;</p> <p id="loginButtonRow"> <input id="submit" class="button blue" type="submit" value="登录" ng-disabled="credentials.username === '' || loggingIn" disabled="disabled"> </p> </div> <div id="productName"> <img src="images/vmware_logo_white_transparent.png" style="width: 120px; margin-right: 10px;"> <img src="images/esxi.png" style="margin-bottom: 2px; width: 60px;"> <!-- ngIf: loggingIn --> <!-- ngIf: status !== null --> <div ng-show="welcome !== null &amp;&amp; !loggingIn &amp;&amp; !initializing" ng-style="{'margin-top': status === null ? '29px' : '10px'}" class="loginWelcome ng-hide" style="margin-top: 29px;"> <div ng-bind-html="welcome | escapeHtml | linebreak"></div> <div ng-show="accept !== null" style="margin: 10px; text-align: right;" class="ng-hide"> <label> <input type="checkbox" tabindex="3" ng-model="accepted" style="margin: 0 5px 0 0;" class="ng-pristine ng-untouched ng-valid"> </label> </div> </div> </div> </form> <div id="footer" class="footer"> <a href="https://www.vmware.com/cn/support/pubs/" target="_blank"> <i class="esx-icon-help-new-window" style="margin-top: -3px; margin-right: 6px;"></i>打开 VMware Host Client 文档</a> <div style="float: right;"></div> </div> </div> </div> </div> <!-- Fixes required for electron --> <script class=""> var _loc = String(window.location); if (_loc && _loc.indexOf('file:///') >= 0) { // requireJS has a bit of a crippled exporting mechanism for node, so we need to pull // these objects up into global scope. require('./bower_components/es6-promise/es6-promise.min.js'); window.$ = window.jQuery = require('./bower_components/jquery/dist/jquery.min'); require('./bower_components/jquery-ui/jquery-ui.min'); window.I18n = require('./bower_components/i18n-js/app/assets/javascripts/i18n.js') window.vsphere = require('./thirdparty/vspherejs/index.js') window.ipaddr = require('./bower_components/ipaddr/ipaddr.min.js'); } </script> <!-- end electron --> <!-- build:js(.) scripts/oldieshim.js --> <!--[if lt IE 9]> <script src="bower_components/es5-shim/es5-shim.js"></script> <script src="bower_components/json3/lib/json3.js"></script> <![endif]--> <!-- endbuild --> <script src="bower_components/jxon/index.js" class=""></script> <script src="bower_components/i18n-js/app/assets/javascripts/i18n.js" class=""></script> <script src="bower_components/es6-shim/es6-shim.min.js" class=""></script> <!-- The main entry point for Angular --> <script src="bower_components/requirejs/require.js" data-main="scripts/main" class=""></script> </body></html> ```
vue-loader安装后在.vue里的<style></style>里面写样式就报错?
提问:请问下,vue-loader也安装了为何在.vue的style标签了 还是不能写样式呢?webpack4,使用webpack-dev-server命令打包时就报错.应该如何解决? 我已经尝试卸载vue-loader重新安装,删除node-modules重新跑环境,但并没有解决掉.难到是某个加载器的版本的问题吗? main.js ``` import Vue from 'vue'; import app from './App.vue'; import { Header } from 'mint-ui'; Vue.component(Header.name, Header); var vm=new Vue({ el:'#app', render:c=>c(app) }); ``` App.vue ``` <template> <div class="box"> <!--header--> <mt-header fixed title="固定在顶部"></mt-header> <!--body--> <!--foot--> <h1>这是 App 组件</h1> </div> </template> <script> </script> <style lang="sass" scoped> .box{ padding-top:40px; } </style> ``` package.json ``` "devDependencies": { "babel-core": "^6.26.0", "babel-loader": "^7.1.2", "babel-plugin-component": "^0.10.1", "babel-plugin-transform-runtime": "^6.23.0", "babel-preset-env": "^1.6.1", "babel-preset-stage-0": "^6.24.1", "css-loader": "^0.28.7", "file-loader": "^1.1.5", "html-webpack-plugin": "^2.30.1", "less": "^2.7.3", "less-loader": "^4.0.5", "node-sass": "^4.5.3", "sass-loader": "^6.0.6", "style-loader": "^0.19.0", "url-loader": "^0.6.2", "vue-loader": "^13.3.0", "vue-template-compiler": "^2.5.2", "webpack": "^3.8.1", "webpack-dev-server": "^2.9.3" }, "dependencies": { "bootstrap": "^3.3.7", "mint-ui": "^2.2.9", "vue": "^2.5.2", "vue-router": "^3.0.1" } } ``` 错误提示: ``` ERROR in ./node_modules/css-loader!./node_modules/vue-loader/lib/style-compiler?{"vue":true,"id":"data-v-7ba5bd90","scoped": true,"hasInlineConfig":false}!./node_modules/sass-loader/lib/loader.js?indentedSyntax!./node_modules/vue-loader/lib/selector .js?type=styles&index=0!./src/App.vue Module build failed: .box{ ^ Invalid CSS after ".box{": expected "}", was "{" in F:\vuetest\day7\src\App.vue (line 19, column 6) @ ./node_modules/vue-style-loader!./node_modules/css-loader!./node_modules/vue-loader/lib/style-compiler?{"vue":true,"id":" data-v-7ba5bd90","scoped":true,"hasInlineConfig":false}!./node_modules/sass-loader/lib/loader.js?indentedSyntax!./node_modul es/vue-loader/lib/selector.js?type=styles&index=0!./src/App.vue 4:14-331 13:3-17:5 14:22-339 @ ./src/App.vue @ ./src/main.js @ multi (webpack)-dev-server/client?http://localhost:3000 webpack/hot/dev-server ./src/main.js
IE11浏览器报语法错误
**错误定位在main.js** ![图片说明](https://img-ask.csdn.net/upload/201911/20/1574233145_989245.png) ## # main.js代码如下 ``` // The Vue build version to load with the `import` command // (runtime-only or standalone) has been set in webpack.base.conf with an alias. import "babel-polyfill" import Vue from 'vue' import App from './App.vue' import router from './router' import ElementUI from 'element-ui' import store from './store' import Config from './config/' import Api from './api/' import Common from './utils/common' import PageAtion from '../src/components/PageAtion' // 自定义封装的分页组件 import CKEditor from '@ckeditor/ckeditor5-vue' // 自定义指令 import has from './utils/directive/has' // 引入全局样式 import '../static/css/index.css' import '../static/css/common.css' import '../static/css/style.css' import '../static/css/font-awesome.all.css' import 'tinymce/skins/ui/oxide/skin.css' // svgIcon import './icons' // 国际化语言设置(语言切换) import i18n from './lang' // 挂载全局变量 Vue.prototype.$Config = Config; Vue.prototype.$Api = Api; // 全局API Vue.prototype.$Common = Common; // 自定义函数 // Vue.prototype.$ReqUrl = ReqUrl // 自定义函数 // 注册全局组件 Vue.component('pageAtion', PageAtion); // 分页组件 Vue.use(ElementUI); Vue.use(has); Vue.use({ i18n: (key, value) => i18n.t(key, value) }); Vue.use(CKEditor); // 登录状态判断 (路由拦截) router.beforeEach((to, from, next) => { let userName = sessionStorage.getItem('user') if (!userName) { //未登录 sessionStorage.clear() if (to.path === '/login' || to.path === '/') { next() } else { next('/login') } } else { Api.getUserInfo().then(res => { // if (res) { if (res.data.result) { // 有 session 信息 let loginName = res.data.result.loginName // 新用户登录 if (userName != loginName) { store.dispatch('GetUserInfo') .then(res => { if (res.data.result) { next() } else { next('/login') } }) .catch(error => { next('/login') }) } else { if (to.path == '/layout') { next() } else { if (to.path == '/login' || to.path == '/') { next('/layout') } else { next() } } } } else { // session 过期 sessionStorage.clear() if (to.path == '/login' || to.path == '/') { next() } else { next('/login') } } // } else { // sessionStorage.clear() // if (to.path == '/login' || to.path == '/') { // next() // } else { // next('/login') // } // } }) } }) // 用户手动刷新页面 重新获取本地存储的用户信息 if (sessionStorage.getItem('userinfo')) { let token = sessionStorage.getItem('token') let userName = sessionStorage.getItem('user') store.commit('SET_TOKEN', token) store.commit('SET_LOGINNAME', userName) // 用户信息 let userinfo = JSON.parse(sessionStorage.getItem('userinfo')) store.commit('SET_USERINFO', userinfo) // 统计信息 let statisMap = JSON.parse(sessionStorage.getItem('statisMap')) store.commit('SET_STATISMAP', statisMap) } Vue.config.productionTip = false; /* eslint-disable no-new */ new Vue({ el: '#app', router, i18n, store, components: { App }, // template: '<App/>' render: h => h(App) }) ```
Vue-cli 的热更新无效问题
我使用vue init webpack-simple ProjectName创建了一个简单的Vue-cli工程,但是无法实现热更新。每次一点点改动就需要重新编译运行才能看到效果,十分困扰。 我的webpack配置如下: ``` const path = require('path') const webpack = require('webpack'); console.log(path.resolve(__dirname, './src/main.js')) module.exports = { //热部署 entry:[ path.resolve(__dirname, './src/main.js'), 'webpack-dev-server/client?http://localhost:8080/', ], output: { path: path.resolve(__dirname, './dist'), publicPath: './dist/', filename: 'build.js' }, module: { rules: [ { test: /\.css$/, use: [ 'vue-style-loader', 'css-loader' ], }, { test: /\.vue$/, loader: 'vue-loader', options: { loaders: { } // other vue-loader options go here } }, { test: /\.js$/, loader: 'babel-loader', exclude: /node_modules/ }, { test: /\.(png|jpg|gif|svg)$/, loader: 'file-loader', options: { name: '[name].[ext]?[hash]' } } ] }, resolve: { alias: { 'vue$': 'vue/dist/vue.esm.js' }, extensions: ['*', '.js', '.vue', '.json'] }, devServer: { //这里可以配置端口号 // port:8080, // host: 'localhost', //重定向404 historyApiFallback: true, noInfo: true, //编译出错的时候,在浏览器页面上显示错误 overlay: true, hot:true, inline:true, //该目录不填默认是项目目录 // contentBase: path.resolve(__dirname), }, performance: { hints: false }, devtool: '#eval-source-map', //配置webpack插件 plugins:[ //热加载插件 new webpack.HotModuleReplacementPlugin(), new webpack.NamedModulesPlugin(), ] } 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": "srms", "description": "A Vue.js project", "version": "1.0.0", "author": "Snile <826245622@qq.com>", "license": "", "private": true, "scripts": { "clean": "rd /s /q dist", "build": "cross-env NODE_ENV=production webpack --progress --hide-modules", "dev": "npm run build && cross-env NODE_ENV=development webpack-dev-server --open --inline --hot" }, "dependencies": { "vue": "^2.5.11", "vue-router": "^3.0.2" }, "browserslist": [ "> 1%", "last 2 versions", "not ie <= 8" ], "devDependencies": { "babel-core": "^6.26.0", "babel-loader": "^7.1.2", "babel-preset-env": "^1.6.0", "babel-preset-stage-3": "^6.24.1", "cross-env": "^5.0.5", "css-loader": "^0.28.7", "file-loader": "^1.1.4", "vue-loader": "^14.2.3", "vue-template-compiler": "^2.4.4", "webpack": "^3.12.0", "webpack-dev-server": "^2.9.1" } } ``` 该配置似乎能检测到文件的变化,每次改动后,控制台都会输出: client:77 [WDS] Hot Module Replacement enabled. 2client:80 [WDS] App updated. Recompiling... client:223 [WDS] App hot update...
Vue2.0使用ElementUI的组件报错
问题截图: ![图片说明](https://img-ask.csdn.net/upload/201903/29/1553828313_461442.png) 问题描述: 编译工具webstorm,使用npm命令 dev运行项目报错。 搭建过程: 按照官方教程执行了 1.使用命令安装element组件 ``` npm i element-ui -S ``` 2.安装babel组件 ``` npm install babel-plugin-component -S ``` 3.main.js引用 ``` import ElementUI from 'element-ui' import 'element-ui/lib/theme-chalk/index.css' Vue.config.productionTip = false Vue.use(ElementUI); ``` 4.页面中使用element组件 ``` <template> <div>2</div> <el-row> <el-button>默认按钮</el-button> <el-button type="primary">主要按钮</el-button> <el-button type="success">成功按钮</el-button> <el-button type="info">信息按钮</el-button> <el-button type="warning">警告按钮</el-button> <el-button type="danger">危险按钮</el-button> </el-row> </template> ``` .babelrc文件修改后报错,es2015,安装后无法使用,还原成系统默认配置。 以下为相关文件的具体内容: package.json ``` { "name": "vuetest3", "version": "1.0.0", "description": "A Vue.js project", "author": "811204266@qq.com <123456>", "private": true, "scripts": { "dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js", "start": "npm run dev", "unit": "jest --config test/unit/jest.conf.js --coverage", "e2e": "node test/e2e/runner.js", "test": "npm run unit && npm run e2e", "lint": "eslint --ext .js,.vue src test/unit test/e2e/specs", "build": "node build/build.js" }, "dependencies": { "axios": "^0.18.0", "babel-polyfill": "^6.26.0", "vue": "^2.5.2", "vue-router": "^3.0.1" }, "devDependencies": { "autoprefixer": "^7.1.2", "babel-core": "^6.22.1", "babel-eslint": "^8.2.1", "babel-helper-vue-jsx-merge-props": "^2.0.3", "babel-jest": "^21.0.2", "babel-loader": "^7.1.1", "babel-plugin-component": "^1.1.1", "babel-plugin-dynamic-import-node": "^1.2.0", "babel-plugin-syntax-jsx": "^6.18.0", "babel-plugin-transform-es2015-modules-commonjs": "^6.26.0", "babel-plugin-transform-runtime": "^6.22.0", "babel-plugin-transform-vue-jsx": "^3.5.0", "babel-preset-env": "^1.3.2", "babel-preset-es2015": "^6.24.1", "babel-preset-stage-2": "^6.22.0", "babel-register": "^6.22.0", "chalk": "^2.0.1", "chromedriver": "^2.27.2", "copy-webpack-plugin": "^4.0.1", "cross-spawn": "^5.0.1", "css-loader": "^0.28.0", "eslint": "^4.15.0", "eslint-config-standard": "^10.2.1", "eslint-friendly-formatter": "^3.0.0", "eslint-loader": "^1.7.1", "eslint-plugin-import": "^2.7.0", "eslint-plugin-node": "^5.2.0", "eslint-plugin-promise": "^3.4.0", "eslint-plugin-standard": "^3.0.1", "eslint-plugin-vue": "^4.0.0", "extract-text-webpack-plugin": "^3.0.0", "file-loader": "^1.1.4", "friendly-errors-webpack-plugin": "^1.6.1", "html-webpack-plugin": "^2.30.1", "jest": "^22.0.4", "jest-serializer-vue": "^0.3.0", "nightwatch": "^0.9.12", "node-notifier": "^5.1.2", "optimize-css-assets-webpack-plugin": "^3.2.0", "ora": "^1.2.0", "portfinder": "^1.0.13", "postcss-import": "^11.0.0", "postcss-loader": "^2.0.8", "postcss-url": "^7.2.1", "rimraf": "^2.6.0", "selenium-server": "^3.0.1", "semver": "^5.3.0", "shelljs": "^0.7.6", "uglifyjs-webpack-plugin": "^1.1.1", "url-loader": "^0.5.8", "vue-jest": "^1.0.2", "vue-loader": "^13.3.0", "vue-style-loader": "^3.0.1", "vue-template-compiler": "^2.5.2", "webpack": "^3.6.0", "webpack-bundle-analyzer": "^2.9.0", "webpack-dev-server": "^2.9.1", "webpack-merge": "^4.1.0" }, "engines": { "node": ">= 6.0.0", "npm": ">= 3.0.0" }, "browserslist": [ "> 1%", "last 2 versions", "not ie <= 8" ] } ``` 页面文件home.vue ``` <template> <div>2</div> <el-row> <el-button>默认按钮</el-button> <el-button type="primary">主要按钮</el-button> <el-button type="success">成功按钮</el-button> <el-button type="info">信息按钮</el-button> <el-button type="warning">警告按钮</el-button> <el-button type="danger">危险按钮</el-button> </el-row> </template> <script> export default { name: 'home', data () { return { msg: 'Welcome to Your Vue.js App' } } } </script> <style scoped> </style> ``` main.js ``` // The Vue build version to load with the `import` command // (runtime-only or standalone) has been set in webpack.base.conf with an alias. import Vue from 'vue' import App from './App' import router from './router' import ElementUI from 'element-ui' import 'element-ui/lib/theme-chalk/index.css' Vue.config.productionTip = false Vue.use(ElementUI); /* eslint-disable no-new */ new Vue({ el: '#app', router, components: { App }, template: '<App/>' }) ``` router/index.js ``` import Vue from 'vue' import Router from 'vue-router' import Home from '@/page/Home' Vue.use(Router) export default new Router({ routes: [ { path: '/', name: 'Home', component: Home } ] }) ```
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 } ``` 但是还是报错,有没有大佬支招
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过...
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
卸载 x 雷某度!GitHub 标星 1.5w+,从此我只用这款全能高速下载工具!
作者 | Rocky0429 来源 | Python空间 大家好,我是 Rocky0429,一个喜欢在网上收集各种资源的蒟蒻… 网上资源眼花缭乱,下载的方式也同样千奇百怪,比如 BT 下载,磁力链接,网盘资源等等等等,下个资源可真不容易,不一样的方式要用不同的下载软件,因此某比较有名的 x 雷和某度网盘成了我经常使用的工具。 作为一个没有钱的穷鬼,某度网盘几十 kb 的下载速度让我...
2019年还剩1天,我从外包公司离职了
这日子过的可真快啊,2019年还剩1天,外包公司干了不到3个月,我离职了
《面试宝典》2019年springmvc面试高频题(java)
前言 2019即将过去,伴随我们即将迎来的又是新的一年,过完春节,马上又要迎来新的金三银四面试季。那么,作为程序猿的你,是否真的有所准备的呢,亦或是安于本职工作,继续做好手头上的事情。 当然,不论选择如何,假如你真的准备在之后的金三银四跳槽的话,那么作为一个Java工程师,就不可不看了。如何在几个月的时间里,快速的为即将到来的面试进行充分的准备呢? 1、什么是Spring MVC ?简单...
计算机网络的核心概念
这是《计算机网络》系列文章的第二篇文章 我们第一篇文章讲述了计算机网络的基本概念,互联网的基本名词,什么是协议以及几种接入网以及网络传输的物理媒体,那么本篇文章我们来探讨一下网络核心、交换网络、时延、丢包、吞吐量以及计算机网络的协议层次和网络攻击。 网络核心 网络的核心是由因特网端系统和链路构成的网状网络,下面这幅图正确的表达了这一点 那么在不同的 ISP 和本地以及家庭网络是如何交换信息的呢?...
python自动下载图片
近日闲来无事,总有一种无形的力量萦绕在朕身边,让朕精神涣散,昏昏欲睡。 可是,像朕这么有职业操守的社畜怎么能在上班期间睡瞌睡呢,我不禁陷入了沉思。。。。 突然旁边的IOS同事问:‘嘿,兄弟,我发现一个网站的图片很有意思啊,能不能帮我保存下来提升我的开发灵感?’ 作为一个坚强的社畜怎么能说自己不行呢,当时朕就不假思索的答应:‘oh, It’s simple. Wait for me a few
一名大专同学的四个问题
【前言】   收到一封来信,赶上各种事情拖了几日,利用今天要放下工作的时机,做个回复。   2020年到了,就以这一封信,作为开年标志吧。 【正文】   您好,我是一名现在有很多困惑的大二学生。有一些问题想要向您请教。   先说一下我的基本情况,高考失利,不想复读,来到广州一所大专读计算机应用技术专业。学校是偏艺术类的,计算机专业没有实验室更不用说工作室了。而且学校的学风也不好。但我很想在计算机领...
复习一周,京东+百度一面,不小心都拿了Offer
京东和百度一面都问了啥,面试官百般刁难,可惜我全会。
20道你必须要背会的微服务面试题,面试一定会被问到
写在前面: 在学习springcloud之前大家一定要先了解下,常见的面试题有那块,然后我们带着问题去学习这个微服务技术,那么就会更加理解springcloud技术。如果你已经学了springcloud,那么在准备面试的时候,一定要看看看这些面试题。 文章目录1、什么是微服务?2、微服务之间是如何通讯的?3、springcloud 与dubbo有哪些区别?4、请谈谈对SpringBoot 和S...
Java 14 都快来了,为什么还有这么多人固守Java 8?
从Java 9开始,Java版本的发布就让人眼花缭乱了。每隔6个月,都会冒出一个新版本出来,Java 10 , Java 11, Java 12, Java 13, 到2020年3月份,...
轻松搭建基于 SpringBoot + Vue 的 Web 商城应用
首先介绍下在本文出现的几个比较重要的概念: 函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传。函数计算准备计算资源,并以弹性伸缩的方式运行用户代码,而用户只需根据实际代码运行所消耗的资源进行付费。Fun: Fun 是一个用于支持 Serverless 应用部署的工具,能帮助您便捷地管理函数计算、API ...
Python+OpenCV实时图像处理
目录 1、导入库文件 2、设计GUI 3、调用摄像头 4、实时图像处理 4.1、阈值二值化 4.2、边缘检测 4.3、轮廓检测 4.4、高斯滤波 4.5、色彩转换 4.6、调节对比度 5、退出系统 初学OpenCV图像处理的小伙伴肯定对什么高斯函数、滤波处理、阈值二值化等特性非常头疼,这里给各位分享一个小项目,可通过摄像头实时动态查看各类图像处理的特点,也可对各位调参、测试...
2020年一线城市程序员工资大调查
人才需求 一线城市共发布岗位38115个,招聘120827人。 其中 beijing 22805 guangzhou 25081 shanghai 39614 shenzhen 33327 工资分布 2020年中国一线城市程序员的平均工资为16285元,工资中位数为14583元,其中95%的人的工资位于5000到20000元之间。 和往年数据比较: yea...
为什么猝死的都是程序员,基本上不见产品经理猝死呢?
相信大家时不时听到程序员猝死的消息,但是基本上听不到产品经理猝死的消息,这是为什么呢? 我们先百度搜一下:程序员猝死,出现将近700多万条搜索结果: 搜索一下:产品经理猝死,只有400万条的搜索结果,从搜索结果数量上来看,程序员猝死的搜索结果就比产品经理猝死的搜索结果高了一倍,而且从下图可以看到,首页里面的五条搜索结果,其实只有两条才是符合条件。 所以程序员猝死的概率真的比产品经理大,并不是错...
害怕面试被问HashMap?这一篇就搞定了!
声明:本文以jdk1.8为主! 搞定HashMap 作为一个Java从业者,面试的时候肯定会被问到过HashMap,因为对于HashMap来说,可以说是Java集合中的精髓了,如果你觉得自己对它掌握的还不够好,我想今天这篇文章会非常适合你,至少,看了今天这篇文章,以后不怕面试被问HashMap了 其实在我学习HashMap的过程中,我个人觉得HashMap还是挺复杂的,如果真的想把它搞得明明白...
毕业5年,我问遍了身边的大佬,总结了他们的学习方法
我问了身边10个大佬,总结了他们的学习方法,原来成功都是有迹可循的。
python爬取百部电影数据,我分析出了一个残酷的真相
2019年就这么匆匆过去了,就在前几天国家电影局发布了2019年中国电影市场数据,数据显示去年总票房为642.66亿元,同比增长5.4%;国产电影总票房411.75亿元,同比增长8.65%,市场占比 64.07%;城市院线观影人次17.27亿,同比增长0.64%。 看上去似乎是一片大好对不对?不过作为一名严谨求实的数据分析师,我从官方数据中看出了一点端倪:国产票房增幅都已经高达8.65%了,为什...
推荐10个堪称神器的学习网站
每天都会收到很多读者的私信,问我:“二哥,有什么推荐的学习网站吗?最近很浮躁,手头的一些网站都看烦了,想看看二哥这里有什么新鲜货。” 今天一早做了个恶梦,梦到被老板辞退了。虽然说在我们公司,只有我辞退老板的份,没有老板辞退我这一说,但是还是被吓得 4 点多都起来了。(主要是因为我掌握着公司所有的核心源码,哈哈哈) 既然 4 点多起来,就得好好利用起来。于是我就挑选了 10 个堪称神器的学习网站,推...
这些软件太强了,Windows必装!尤其程序员!
Windows可谓是大多数人的生产力工具,集娱乐办公于一体,虽然在程序员这个群体中都说苹果是信仰,但是大部分不都是从Windows过来的,而且现在依然有很多的程序员用Windows。 所以,今天我就把我私藏的Windows必装的软件分享给大家,如果有一个你没有用过甚至没有听过,那你就赚了????,这可都是提升你幸福感的高效率生产力工具哦! 走起!???? NO、1 ScreenToGif 屏幕,摄像头和白板...
阿里面试一个ArrayList我都能跟面试官扯半小时
我是真的没想到,面试官会这样问我ArrayList。
曾经优秀的人,怎么就突然不优秀了。
职场上有很多辛酸事,很多合伙人出局的故事,很多技术骨干被裁员的故事。说来模板都类似,曾经是名校毕业,曾经是优秀员工,曾经被领导表扬,曾经业绩突出,然而突然有一天,因为种种原因,被裁员了,...
大学四年因为知道了这32个网站,我成了别人眼中的大神!
依稀记得,毕业那天,我们导员发给我毕业证的时候对我说“你可是咱们系的风云人物啊”,哎呀,别提当时多开心啦????,嗯,我们导员是所有导员中最帅的一个,真的???? 不过,导员说的是实话,很多人都叫我大神的,为啥,因为我知道这32个网站啊,你说强不强????,这次是绝对的干货,看好啦,走起来! PS:每个网站都是学计算机混互联网必须知道的,真的牛杯,我就不过多介绍了,大家自行探索,觉得没用的,尽管留言吐槽吧???? 社...
2020年1月中国编程语言排行榜,python是2019增长最快编程语言
编程语言比例 排名 编程语言 最低工资 工资中位数 最低工资 最高工资 人头 人头百分比 1 rust 20713 17500 5042 46250 480 0.14% 2 typescript 18503 22500 6000 30000 1821 0.52% 3 lua 18150 17500 5250 35000 2956 0.84% 4 go 17989 16...
看完这篇HTTP,跟面试官扯皮就没问题了
我是一名程序员,我的主要编程语言是 Java,我更是一名 Web 开发人员,所以我必须要了解 HTTP,所以本篇文章就来带你从 HTTP 入门到进阶,看完让你有一种恍然大悟、醍醐灌顶的感觉。 最初在有网络之前,我们的电脑都是单机的,单机系统是孤立的,我还记得 05 年前那会儿家里有个电脑,想打电脑游戏还得两个人在一个电脑上玩儿,及其不方便。我就想为什么家里人不让上网,我的同学 xxx 家里有网,每...
史上最全的IDEA快捷键总结
现在Idea成了主流开发工具,这篇博客对其使用的快捷键做了总结,希望对大家的开发工作有所帮助。
阿里程序员写了一个新手都写不出的低级bug,被骂惨了。
这种新手都不会范的错,居然被一个工作好几年的小伙子写出来,差点被当场开除了。
谁是华为扫地僧?
是的,华为也有扫地僧!2020年2月11-12日,“养在深闺人不知”的华为2012实验室扫地僧们,将在华为开发者大会2020(Cloud)上,和大家见面。到时,你可以和扫地僧们,吃一个洋...
Idea 中最常用的10款插件(提高开发效率),一定要学会使用!
学习使用一些插件,可以提高开发效率。对于我们开发人员很有帮助。这篇博客介绍了开发中使用的插件。
AI 没让人类失业,搞 AI 的人先失业了
最近和几个 AI 领域的大佬闲聊 根据他们讲的消息和段子 改编出下面这个故事 如有雷同 都是巧合 1. 老王创业失败,被限制高消费 “这里写我跑路的消息实在太夸张了。” 王葱葱哼笑一下,把消息分享给群里。 阿杰也看了消息,笑了笑。在座几位也都笑了。 王葱葱是个有名的人物,21岁那年以全额奖学金进入 KMU 攻读人工智能博士,累计发表论文 40 余篇,个人技术博客更是成为深度学习领域内风向标。 ...
2020年,冯唐49岁:我给20、30岁IT职场年轻人的建议
点击“技术领导力”关注∆每天早上8:30推送 作者|Mr.K 编辑| Emma 来源|技术领导力(ID:jishulingdaoli) 前天的推文《冯唐:职场人35岁以后,方法论比经验重要》,收到了不少读者的反馈,觉得挺受启发。其实,冯唐写了不少关于职场方面的文章,都挺不错的。可惜大家只记住了“春风十里不如你”、“如何避免成为油腻腻的中年人”等不那么正经的文章。 本文整理了冯...
作为一名大学生,如何在B站上快乐的学习?
B站是个宝,谁用谁知道???? 作为一名大学生,你必须掌握的一项能力就是自学能力,很多看起来很牛X的人,你可以了解下,人家私底下一定是花大量的时间自学的,你可能会说,我也想学习啊,可是嘞,该学习啥嘞,不怕告诉你,互联网时代,最不缺的就是学习资源,最宝贵的是啥? 你可能会说是时间,不,不是时间,而是你的注意力,懂了吧! 那么,你说学习资源多,我咋不知道,那今天我就告诉你一个你必须知道的学习的地方,人称...
那些年,我们信了课本里的那些鬼话
教材永远都是有错误的,从小学到大学,我们不断的学习了很多错误知识。 斑羚飞渡 在我们学习的很多小学课文里,有很多是错误文章,或者说是假课文。像《斑羚飞渡》: 随着镰刀头羊的那声吼叫,整个斑羚群迅速分成两拨,老年斑羚为一拨,年轻斑羚为一拨。 就在这时,我看见,从那拨老斑羚里走出一只公斑羚来。公斑羚朝那拨年轻斑羚示意性地咩了一声,一只半大的斑羚应声走了出来。一老一少走到伤心崖,后退了几步,突...
一个程序在计算机中是如何运行的?超级干货!!!
强烈声明:本文很干,请自备茶水!???? 开门见山,咱不说废话! 你有没有想过,你写的程序,是如何在计算机中运行的吗?比如我们搞Java的,肯定写过这段代码 public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World!"); } ...
【蘑菇街技术部年会】程序员与女神共舞,鼻血再次没止住。(文末内推)
蘑菇街技术部的年会,别开生面,一样全是美女。
那个在阿里养猪的工程师,5年了……
简介: 在阿里,走过1825天,没有趴下,依旧斗志满满,被称为“五年陈”。他们会被授予一枚戒指,过程就叫做“授戒仪式”。今天,咱们听听阿里的那些“五年陈”们的故事。 下一个五年,猪圈见! 我就是那个在养猪场里敲代码的工程师,一年多前我和20位工程师去了四川的猪场,出发前总架构师慷慨激昂的说:同学们,中国的养猪产业将因为我们而改变。但到了猪场,发现根本不是那么回事:要个WIFI,没有;...
为什么程序猿都不愿意去外包?
分享外包的组织架构,盈利模式,亲身经历,以及根据一些外包朋友的反馈,写了这篇文章 ,希望对正在找工作的老铁有所帮助
Java校招入职华为,半年后我跑路了
何来 我,一个双非本科弟弟,有幸在 19 届的秋招中得到前东家华为(以下简称 hw)的赏识,当时秋招签订就业协议,说是入了某 java bg,之后一系列组织架构调整原因等等让人无法理解的神操作,最终毕业前夕,被通知调往其他 bg 做嵌入式开发(纯 C 语言)。 由于已至于校招末尾,之前拿到的其他 offer 又无法再收回,一时感到无力回天,只得默默接受。 毕业后,直接入职开始了嵌入式苦旅,由于从未...
世界上有哪些代码量很少,但很牛逼很经典的算法或项目案例?
点击上方蓝字设为星标下面开始今天的学习~今天分享四个代码量很少,但很牛逼很经典的算法或项目案例。1、no code 项目地址:https://github.com/kelseyhight...
Python全栈 Linux基础之3.Linux常用命令
Linux对文件(包括目录)有很多常用命令,可以加快开发效率:ls是列出当前目录下的文件列表,选项有-a、-l、-h,还可以使用通配符;c功能是跳转目录,可以使用相对路径和绝对路径;mkdir命令创建一个新的目录,有-p选项,rm删除文件或目录,有-f、-r选项;cp用于复制文件,有-i、-r选项,tree命令可以将目录结构显示出来(树状显示),有-d选项,mv用来移动文件/目录,有-i选项;cat查看文件内容,more分屏显示文件内容,grep搜索内容;>、>>将执行结果重定向到一个文件;|用于管道输出。
​两年前不知如何编写代码的我,现在是一名人工智能工程师
全文共3526字,预计学习时长11分钟 图源:Unsplash 经常有小伙伴私信给小芯,我没有编程基础,不会写代码,如何进入AI行业呢?还能赶上AI浪潮吗? 任何时候努力都不算晚。 下面,小芯就给大家讲一个朋友的真实故事,希望能给那些处于迷茫与徘徊中的小伙伴们一丝启发。(下文以第一人称叙述) 图源:Unsplash 正如Elsa所说,职业转换是...
强烈推荐10本程序员必读的书
很遗憾,这个春节注定是刻骨铭心的,新型冠状病毒让每个人的神经都是紧绷的。那些处在武汉的白衣天使们,尤其值得我们的尊敬。而我们这些窝在家里的程序员,能不外出就不外出,就是对社会做出的最大的贡献。 有些读者私下问我,窝了几天,有点颓丧,能否推荐几本书在家里看看。我花了一天的时间,挑选了 10 本我最喜欢的书,你可以挑选感兴趣的来读一读。读书不仅可以平复恐惧的压力,还可以对未来充满希望,毕竟苦难终将会...
立即提问