最后
全网独播-价值千万金融项目前端架构实战
从两道网易面试题-分析JavaScript底层机制
RESTful架构在Nodejs下的最佳实践
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
一线互联网企业如何初始化项目-做一个自己的vue-cli
思维无价,看我用Nodejs实现MVC
代码优雅的秘诀-用观察者模式深度解耦模块
前端高级实战,如何封装属于自己的JS库
VUE组件库级组件封装-高复用弹窗组件
const isDev = process.env.NODE_ENV === ‘development’
const config = {
target: ‘web’,
entry: path.join(__dirname, ‘src/index.js’),
output: {
filename: ‘bundle.js’,
path: path.join(__dirname, ‘dist’)
},
module: {
rules: [
{
test: /.vueKaTeX parse error: Expected 'EOF', got '}' at position 53: …r' }̲, {…/,
use: [
‘style-loader’,
‘css-loader’
]
},
{
test: /.stylKaTeX parse error: Expected 'EOF', got '}' at position 163: … ] }̲, {…/,
use: [
{
loader: ‘url-loader’,
options: {
limit: 1024,
name: ‘[name]-image.[ext]’
}
}
]
}
]
}
}
if (isDev) {
config.devServer = {
port: 9999,
host: ‘0.0.0.0’, // 设置值:0.0.0.0的好处,可以通过localhost访问,也可以通过127.0.0.1访问,还可以通过本机的ip进行访问
overlay: {
errors: true // 如果在webpack编译的过程中有任何的错误直接输出到页面上
}
}
}
module.exports = config
1.4 借助插件html-webpack-plugin来生成html文件并包含编译打包后的js等资源
1.4.1 安装插件包
➜ vue-demo npm install html-webpack-plugin@2.30.1
npm WARN vue-demo@1.0.0 No repository field.
- html-webpack-plugin@2.30.1
added 31 packages from 20 contributors and audited 5598 packages in 6.359s
found 5 vulnerabilities (2 low, 1 moderate, 2 high)
runnpm audit fix
to fix them, ornpm audit
for details
➜ vue-demo
1.4.2 配置插件
![](https://img-blog.csdnimg.cn/2019071408181248.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2did2luZQ==,size_16,color_FFFFFF,t_70)
1.5 我们使用Vue、React这些框架的时候,我们一定要去使用一个webpack的plugin,这个plugin叫webpack.DefinePlugin,这个插件使用来做什么的呢?它是给我们的webpack在编译的过程当中以及在我们的页面上和我们自己编写的js代码的时候,如果想要去判断当前项目的环境,我们都可以通过调用process.env.NODE\_ENV来获取环境信息进行逻辑判断,也就是说在这里面定义的变量信息在我们编写的代码中是可以引用到的。提醒一点就是现在Vue及React这些框架的代码,它们会根据不同的环境去进行区分打包,Vue的dist目录里面有非常多的不同版本的Vue的源代码,然后在开发环境它是一个比较大的版本,它里面会包含很多错误信息的提示以及很多的功能,而这些功能在正式环境下是没必要去使用的,因为一方面它会加大文件的大小,另外一方面它会让代码的运行效率降低很多,所以我们在开发环境就使用development这时好处有很多,比如Vue会给我们很多开发错误的提醒,但是在正式环境我们不希望这些代码去使用,所以我们要使用这个变量去进行环境的区分,因为webpack再去打包的过程中也会根据这个变量去区分源代码的版本去打包进去。需要注意procee.env.NODE\_ENV的值需要带双引号,否则就是procee.env.NODE\_ENV = development 而不是 procee.env.NODE\_ENV = "development" 就会出错。
![](https://img-blog.csdnimg.cn/20190714084054183.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2did2luZQ==,size_16,color_FFFFFF,t_70)
1.6 执行启动webpack-dev-server的指令
➜ vue-demo npm run dev
vue-demo@1.0.0 dev /Users/a1/Documents/workspace/vue-demo
cross-env NODE_ENV=development webpack-dev-server --config webpack.config.js
Project is running at http://0.0.0.0:9999/
webpack output is served from /
No parser and no filepath given, using ‘babel’ the parser now but this will throw an error in the future. Please specify a parser or a filepath so one can be inferred.
Hash: 0a60bfb8c38fce0e54d5
Version: webpack 3.10.0
Time: 1462ms
Asset Size Chunks Chunk Names
beijing-image.jpg 902 kB [emitted] [big]
bundle.js 586 kB 0 [emitted] [big] main
index.html 182 bytes [emitted]
[5] multi (webpack)-dev-server/client?http://0.0.0.0:9999 ./src/index.js 40 bytes {0} [built]
[6] (webpack)-dev-server/client?http://0.0.0.0:9999 7.95 kB {0} [built]
[7] ./node_modules/url/url.js 23.3 kB {0} [built]
[14] ./node_modules/strip-ansi/index.js 161 bytes {0} [built]
[16] ./node_modules/loglevel/lib/loglevel.js 7.86 kB {0} [built]
[17] (webpack)-dev-server/client/socket.js 1.05 kB {0} [built]
[19] (webpack)-dev-server/client/overlay.js 3.73 kB {0} [built]
[24] (webpack)/hot nonrecursive ^./log$ 170 bytes {0} [built]
[26] (webpack)/hot/emitter.js 77 bytes {0} [built]
[28] ./src/index.js 280 bytes {0} [built]
[29] ./node_modules/vue/dist/vue.runtime.esm.js 209 kB {0} [built]
[33] ./src/app.vue 1.81 kB {0} [built]
[40] ./src/assets/css/index.css 1.03 kB {0} [built]
[44] ./src/assets/css/index.styl 1.17 kB {0} [built]
[46] ./src/assets/images/beijing.jpg 63 bytes {0} [built]
+ 32 hidden modules
Child html-webpack-plugin for “index.html”:
1 asset
[0] ./node_modules/html-webpack-plugin/lib/loader.js!./node_modules/html-webpack-plugin/default_index.ejs 538 bytes {0} [built]
[1] ./node_modules/lodash/lodash.js 541 kB {0} [built]
[2] (webpack)/buildin/global.js 509 bytes {0} [built]
[3] (webpack)/buildin/module.js 517 bytes {0} [built]
webpack: Compiled successfully.
1.7 打开浏览器访问,可以成功访问页面了~
### 文末
js前端的重头戏,值得花大部分时间学习。
![JavaScript知识](https://img-blog.csdnimg.cn/img_convert/701f4db8e7fc0c3ff4d87017d6c846be.png)
推荐通过书籍学习,《 JavaScript 高级程序设计(第 4 版)》你值得拥有。整本书内容质量都很高,尤其是前十章语言基础部分,建议多读几遍。
![前端电子书](https://img-blog.csdnimg.cn/img_convert/6065b7d33c9a5859971490467a967767.png)
**[开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】](https://bbs.csdn.net/topics/618166371)**
另外,大推一个网上教程 现代 JavaScript 教程 ,文章深入浅出,很容易理解,上面的内容几乎都是重点,而且充分发挥了网上教程的时效性和资料链接。
学习资料在精不在多,二者结合,定能构建你的 JavaScript 知识体系。
面试本质也是考试,面试题就起到很好的考纲作用。想要取得优秀的面试成绩,刷面试题是必须的,除非你样样精通。
**这是288页的前端面试题**
![288页面试题](https://img-blog.csdnimg.cn/img_convert/6a0ed19303290ef201081fc6148f21db.png)