当前位置:首页 » 网页前端 » 前端dist文件是怎么运行的
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

前端dist文件是怎么运行的

发布时间: 2022-06-17 18:02:19

㈠ webpack打包后的代码,如何部署到服务器上

本文章前端代码是基于vue+webpack开发的

Nginx是一款轻量级的Web 服务器/反向代理服务器

首先,webpack配置如下

在开发过程中,我们是通过npm run dev在开发环境中运行代码
如果要部署到生产环境中,可以运行npm run build进行上线打包

打包完成后,会发现项目中多了dist这个文件夹

执行结果和webpack的配置文件一致。

代码被webpack打包完成后下一步就是部署到服务器上,此文仅适合于前端代码是部署在windows操作系统的nginx服务中。
这里假设:
Windows操作系统:windows server 2008 64位
Nginx服务:nginx-1.12.2 64位

1.下载nginx-1.12.2 64位解压,假设nginx-1.12.2放在D:nginx-1.12.2目录中,nginx目录结构。如图下

2、前端代码放在D:nginx-1.12.2html目录中,dist目录就是刚刚前端打包完的代码。如图下

3、在D:nginx-1.12.2conf目录中,有个nginx.conf配置文件,进行编辑这个文件


4、假设前端的端口号为8082,如果端口号被占用,请修改为其它端口号。后台服务访问地址http://192.168.121.**:8080,

5、打开cmd控制台,进入目录D:nginx-1.12.2中,用start nginx命令启动服务,然后用tasklist /fi "imagename eq nginx.exe",查看nginx服务是否启动。

4、如果改变配置文件时,需要用nginx -s reload 命令重启nginx工作进程。

5、关闭服务
nginx -s stop
nginx -s quit 安全关闭
taskkill /F /IM nginx.exe > nul 关闭所有nginx服务

㈡ gulp 怎么生存dist文件夹

  1. 文件合并:关于文件合并很多人存在这样的疑惑,在前端开发中到底该把所有js和css写在一个文件里还是各个页面分开写,我的建议是开发的时候分开写,上线的时候合并为一个,这样的好处是对于浏览器来说,不同页面中相同的文件默认会请求一次缓存下来,其他页面请求相同文件时就直接从缓存中读取,减少文件的网络请求可以提高网页速度,所以文件合并的是很有必要的。

2.文件压缩:既然都合并了,何不再压缩一下呢


3.语法检查:这个功能一般会和下面第4条功能配合使用,当文件修改的时候检查是否有语法错误,并在命令行中输出错误信息。


4.监听文件变化:监听某个目录下文件是否修改,修改的话就执行特定的操作,比如上面几个操作。

以上4点是比较常用的功能,更多功能根据自己需要添加


var gulp = require('gulp');

var jshint = require('gulp-jshint');//语法检查

var concat = require('gulp-concat');//合并文件

var uglify = require('gulp-uglify');//压缩代码

var rename = require('gulp-rename');//重命名

// 语法检查

gulp.task('jshint', function () {

return gulp.src('public/javascripts/*.js')

.pipe(jshint())

.pipe(jshint.reporter('default'));

});

// 合并文件之后压缩代码

gulp.task('minify', function (){

return gulp.src('public/javascripts/*.js')

.pipe(concat('all.js'))

.pipe(gulp.dest('public/javascripts/dist'))

.pipe(uglify())

.pipe(rename('all.min.js'))

.pipe(gulp.dest('public/javascripts/dist'));

});

// 监视文件的变化

gulp.task('watch', function () {

gulp.watch('public/javascripts/*.js', ['jshint', 'minify']);

});

// 注册缺省任务

gulp.task('default', ['jshint', 'minify', 'watch']);

// gulp.task('default', ['jshint', 'minify']);

㈢ webpack生成的dist怎么运行

几乎所有业务的开发构建都会用到 webpack 。的确,作为模块加载和打包神器,只需配置几个文件,加载各种 loader 就可以享受无痛流程化开发。但对于 webpack 这样一个复杂度较高的插件集合,它的整体流程及思想对我们来说还是很透明的。

㈣ vue-cli + webpack 打包后的dist文件怎么在服务器中运行

使用nginx,借鉴网页链接

㈤ vuejs怎么在服务器部署

既然是布署,哪默认就应该是生产环境下的布署,vue开发的应用本质上就是静态文件,无论你用何种web服务器,放上去就应该能通过http访问

接下来我来帮大家来捋一捋

首先VUE 是一个javascript的前端框架,注定了它是运行在浏览器里的,对服务器本地没有任何要求,只要一个静态文件服务器能通过http访问到其资源文件就足矣!无论你是用apache ,ngnix 就算你要用node 自己实现一个静态文件服务器,也用不了多少行代码。

npm run dev 是用来在本地开发的时候做调试用的,vue开发的是前端的东西,不是nodejs 服务端程序,按道理讲,生产环境里就不该存在npm,甚至nodejs也不需要(用nodejs来做web静态服务的除外),楼主通过ssh进入到服务器里,再运行npm run dev 来启动哪是开发机上做的事情。正确的做法很简单,通过npm run build 把生成的dist文件夹(不要上传文件夹)里的内容上传到http服务器上就可以通过 http来访问了,开发机上正常,上传以后 程序出现错误不能运行的原因99.99%的可能性是你引用资源的路径有问题。

一般如果vue框架的程序上传到网站服务器的根目录下是不 会有问题的,也不存在资源文件引用错误的情况,但如果你不是根目录,就会有问题,通过vue-cli 生成的开发目录,build以后默认引用资源文件的路径是

有更多疑问 ”可以咨询 ”小鸟云,它是的一家服务器厂商,我一直在用他们产品!

㈥ dist文件可以用什么看

dist文件可以用jquery看。

又是一个上当受骗者,我曾经用过,根本没有办法的,它让你下JAVA还有C++语言库,最后还让你把数据手动添加到JAVA里,根本就不会,即使会也非常麻烦,我还用过好多模拟器,都不行的,PSP本来就不好卖,再有了模拟器,那索尼还活不活了。

数据封装和数据隐藏:

在C++中,类是支持数据封装的工具,对象则是数据封装的实现。C++通过建立用户定义类支持数据封装和数据隐藏。

在面向对象的程序设计中,将数据和对该数据进行合法操作的函数封装在一起作为一个类的定义。对象被说明为具有一个给定类的变量。每个给定类的对象包含这个类所规定的若干私有成员、公有成员及保护成员。

完好定义的类一旦建立,就可看成完全封装的实体,可以作为一个整体单元使用。类的实际内部工作隐藏起来,使用完好定义的类的用户不需要知道类的工作原理,只要知道如何使用它即可。

㈦ vue里 npm run build后应该怎么运行

1. 前言

vue-cli 一个简单的构建Vue.js项目的命令行界面

整体过程:

$ npm install -g vue-cli $ vue init webpack vue-admin $ cd vue-admin $ npm install $ npm run dev

后面分步说明。

2. 安装

前提条件,Node.js >=4.x版本,建议使用6.x版本。npm版本 > 3.x

全局安装vue-cli

$ npm install -g vue-cli

㈧ rap2在linux下前端和后台服务如何启动可以让服务进程在后台运行

我是按github的文档搭建的,后端用使用pm2管理
npm run dev 是测试用的 就是看你配置文件有没有配对 会不会报错。
没问题的话 就把配置写到 src/config.prod.ts里,然后用 npm run build 构建一下 会生成一个dist文件夹,然后在应用根目录运行 npm start 命令 就启动了
pm2 list 可以查看启动的应用,pm2 的命令自己搜一下 挺多的
前端,npm run build 会生成一个 build 文件夹 把 build下面的内容拷贝到 nginx 下就可以了

㈨ 前后端分离的前端是怎么部署到生产环境中的,直接通过 nginx 吗

front-end-separate(前后端分离脚手架)

front-end-separate
一个前后端分离的脚手架工具(自主研发)
为什么选择grunt而不是gulp
如果你也和我一样喜欢grunt这种配置的方式,那么我相信这个脚手架觉对十分适合你
所有静态资源都md5全并压缩打包,css,js,img,html
已在生产环境验证
基于express和grunt的前后端分离框架
模板引擎使用的是nunjucks,好处是可以实现模版继承,又不像jade一样把html标签都简化了
express提供路由服务
项目中app为原代码文件(开发用),dist为打包后的文件(用于线上)
开发使用app,线上使用dist,支持一键cdn部署,加速你的项目
项目启动时,修改任何express代码,可以实现自动重启–基于nodemon
支持sass图片精灵(自动打包精灵图片,再也不用手动去拼凑了)
基于grunt md5 打包合并
线上输出的html已经压缩成一行(让你的代码更有Geeker范)

㈩ 如何解决webpack打包后,dist文件过大的问题

去除不必要的插件
刚开始用 webpack 的时候,开发环境和生产环境用的是同一个 webpack 配置文件,导致生产环境打包的 JS 文件包含了一大堆没必要的插件,比如 HotMoleReplacementPlugin, NoErrorsPlugin... 这时候不管用什么优化方式,都没多大效果。所以,如果你打包后的文件非常大的话,先检查下是不是包含了这些插件。
提取第三方库
像 react 这个库的核心代码就有 627 KB,这样和我们的源代码放在一起打包,体积肯定会很大。所以可以在 webpack 中设置
{
entry: {
bundle: 'app'
vendor: ['react']
}
plugins: {
new webpack.optimize.CommonsChunkPlugin('vendor', 'vendor.js')
}
}
这样打包之后就会多出一个 vendor.js 文件,之后在引入我们自己的代码之前,都要先引入这个文件。比如在 index.html 中
<script src="/build/vendor.js"></script>
<script src="/build/bundle.js"></script>
除了这种方式之外,还可以通过引用外部文件的方式引入第三方库,比如像下面的配置
{
externals: {
'react': 'React'
}
}
externals 对象的 key 是给 require 时用的,比如 require('react'),对象的 value 表示的是如何在 global 中访问到该对象,这里是 window.React。这时候 index.html 就变成下面这样
<script src="//cdn.bootcss.com/react/0.14.7/react.min.js"></script>
<script src="/build/bundle.js"></script>
当然,个人更推荐第一种方式。
代码压缩
webpack 自带了一个压缩插件 UglifyJsPlugin,只需要在配置文件中引入即可。
{
plugins: [
new webpack.optimize.UglifyJsPlugin({
compress: {
warnings: false
}
})
]
}
加入了这个插件之后,编译的速度会明显变慢,所以一般只在生产环境启用。
另外,服务器端还可以开启 gzip 压缩,优化的效果更明显。
代码分割
什么是代码分割呢?我们知道,一般加载一个网页都会把全部的 js 代码都加载下来。但是对于 web app 来说,我们更想要的是只加载当前 UI 的代码,没有点击的部分不加载。
看起来好像挺麻烦,但是通过 webpack 的 code split 以及配合 react router 就可以方便实现。具体的例子可以看下 react router 的官方示例 huge apps。不过这里还是讲下之前配置踩过的坑。
code split 是不支持 ES6 的模块系统的,所以在导入和导出的时候千万要注意,特别是导出。如果你导出组件的时候用 ES6 的方式,这时候不管导入是用 CommomJs 还是 AMD,都会失败,而且还不会报错!
当然会踩到这个坑也是因为我刚刚才用 NodeJS,而且一入门就是用 ES6 的风格。除了这个之外,还有一点也要注意,在生产环境的 webpack 配置文件中,要加上 publicPath
output: {
path: xxx,
publicPath: yyy,
filename: 'bundle.js'
}
不然的话,webpack 在加载 chunk 的时候,路径会出错。
设置缓存
开始这个小节之前,可以先看下大神的一篇文章:大公司里怎样开发和部署前端代码。
对于静态文件,第一次获取之后,文件内容没改变的话,浏览器直接读取缓存文件即可。那如果缓存设置过长,文件要更新怎么办呢?嗯,以文件内容的 MD5 作为文件名就是一个不错的解决方案。来看下用 webpack 应该怎样实现
output: {
path: xxx,
publicPath: yyy,
filename: '[name]-[chunkhash:6].js'
}
打包后的文件名加入了 hash 值
const bundler = webpack(config)
bundler.run((err, stats) => {
let assets = stats.toJson().assets
let name
for (let i = 0; i < assets.length; i++) {
if (assets[i].name.startsWith('main')) {
name = assets[i].name
break
}
}
fs.stat(config.buildTemplatePath, (err, stats) => {
if (err) {
fs.mkdirSync(config.buildTemplatePath)
}
writeTemplate(name)
})
})
手动调用 webpack 的 API,获取打包后的文件名,通过 writeTemplate 更新 html 代码。完整代码猛戳 gitst。