1. 首页 > 电脑手机 >

vuestatic文件夹(vuestatic文件路径问题)

在vue中静态资源如何打包

axios({

本文主要解决

vuestatic文件夹(vuestatic文件路径问题)vuestatic文件夹(vuestatic文件路径问题)


vuestatic文件夹(vuestatic文件路径问题)


publicPath 属性值为打包后的 app.css文件至index.html文件的相对路径

②.静态资源打包使用相对路径后css文件引入大路径错误问题。

1、问题

vue-cli 脚手架生成的默认打包配置文件情况下运行 npm run build 打包后,部署项目至特定路径下:如:

//ip:port/public/springActivity/

此时访问:

2、分析

由上可以看出是资源打包路径有误,打包后的资源使用了根目录路径,因此将项目部署到特定目录下,其引入的资源路径无法被正确解析。

3、解决

在打包时需要使用相对路径来处理静态资源,更改build中资源发布路径配置(config/index.js, build对象):

将 assetsPublicPath: '/' 改为 assetsPublicPath: './',

再次打包,并将资源部署到特定路径下,然后访问:

此时index.html可以正常访问,同时js和css资源也可以正常访问,但是css中引入的assets目录下的大资源出错了(服务端404)

4. 再分析

查看引入的资源路径如下:

实际项目中资源路径如下:

index.html

static/

|--js/

|--.js

|--css/

|--img/

|--.png很明显引入路径有误。分析引入路径,发现路径均多了"/static/css"两层目录,猜测是css目录下的css文件引入路径为"/static/img/question_bg.61a2825.png" , 查看css文件,css中引入路径如下:

background:(static/img/question_bg.61a2825.png)

5、在解决

css文件中路径存在问题,肯定又是打包哪个环节资源路径没有配置好,分析打包过程,css是在js中引入的或是写在vue文件中的,css文件首先被less,tcss等处理,处理后会被ExtractTextPlugin处理,ExtractTextPlugin将js中的css全部抽离至app.css文件中。

首先将options.extract设为false,关闭抽离css功能,再次打包并部署至特定目录,访问:, ,页面正常显示,大公即将告成。

分析打包后的文件,发现没有了css文件,发现css文件全部在app.js文件中;通过js将css注入 index.html文件中,因此css文件中引入的资源路径应该是相对于index.html文件路径的,即:"static/img/question_bg.61a2825.png",这与下面css文件中的资源路径一致,因此能够被正常访问。

background:(static/img/question_bg.61a2825.png)

if (options.extract) {

return ExtractTextPlugin.extract({

use: loaders,

fallback: 'vue-style-loader',

publicPath:"../../" //添加

})

}打包部署到特定目录下后访问index.html文件,页面一切正常,app.css文件正常引入,资源也正常引入,查看app.css文件引入资源方式如下:

background:(../../static/img/question_bg.61a2825.png

publicPath配置后,css文件中引入的文件路径前添加了该路径配置;

资源也可以直接放在vue-cli生成的static目录下规避上述问题,但是通过这种方式名称中无法增加md5字符串,不利于版本控制

上面是我整理给大家的,希望今后会对大家有帮助。

相关文章:

在jQuery中实现碰到边缘反弹的动画效果该如何做?

在jQuery中如何改变P标签文本值

vue中使用vue i18n如何实现打包后后端修改化文件生效

var _this=this //记得写在get上面,不然取不到值

你可以把这部分文件放在static文件夹地下,用的时候指向到这文件路径地下,webpa在vue cli webpack中如何使用sass(详细教程)ck打包的时候也配下不压缩打包这个目录地下,vue-cli默认集成的webpack配置有这个作,部署的也可以直接到这个dist/static地下去修改这些文件了

vue如何引用其他组件

1.vuejs组件之间的调用components

注意:报错Do not use built-in or reserved HTML elements as component id:

修改组件的名字,例如不能使用address为组件名字

组件名字不要使用内置的或保留HTML元素为组件id,

App.vue是一个入口,vue必须注册才能使用

./代表当前项目,../代表上一级项目

import '../static/style/reset.css'

如果引用const cesiumSource = path.resolve(__dirname, '../node_modules/cesium/Source')的css,js不起作用,在index.html里面引用,还是不起作用,注意引用顺序

3.关于购物车,Cannot read property 'get' of undefined(…)

在app.vue里面引入js不起作用,引用node_modules里面的也不起作用,在index.html里面引入文件,这个文件是放在style里面的,记得里面的路径

解决方案:

1.在index里面引入axios.js,vue里面用axios;如果vue里面用vue-resource的$会报错get“”

你会写静态页面布局这很好,但是相对一款完整的网站项目开发,你更需要懂得响应式布局、动画、与后台交互的表单。可以制作一个该公司目前需要的类似项目作为作品mod: 'get',

: '/static/style/cart.json',

data: {

}})

第二种:使用vue-source,引入外部的js

注意引入顺序

这是cart.js里面的内容

cartView:function(){

this.$.get('/static/style/cart.json',{'id':123}).then(function(res){

this.pro=res.body.name;

//_this.produceList=res.body.result.list;

console.log(res.body.name)

})

Vue.js可以完成静态页面吗 求大神解说一下

①.vue-cli默认配置打包后部署至特定路径下静态资源路径错误问题;

你就把vue.js看做jquery.js类似,你完成静态页面的时候只有在做DOM更新才会用到jquery,那同理只不过vue比起jquery更关注数据model层,而jquery在作dom上更为,稍好。

选择 branch ,保存,接着你会看到项目在线预览链接,点击链接

如果纯粹完成静态页面用不用vue根本无所谓,你只需要写html那些标签,或者引入Bootstrap等UI框架,使用他们的组件就行了。

uni app 安卓 丢失

可能是程序出现错误

和微信小程序对比只是在/static前加“.”安卓app在生成基座或者打包之后,他的static文件夹与html同级别,所以在添加路径的时候一定要在/static前加“.”并且在添加image的路径的时候必须是单引号,否则也会导致不显示。

uni-app 是一个使用 Vue.js (opens new window)开发所有前端应用的框架,开发者编写一套代码,可发布解决办法:到iOS、Android、Web(响应式)、以及各种小程序(微信/支付宝/百度//飞书/QQ/快手/钉钉/淘宝)、快应用等多个平台。

为什么vue用cesium比原生vue界面要暗淡一些

webpack.base.conf.js

const CopyWebpackPlugin = require('copy-webpack-plugin')

// The path to the Cesium source code

const cesiumWorkers = '../Build/Cesium/Workers'

output: {

// Needed to compile multiline strings in Cesium'cesium': path.resolve(__dirname, cesiumSource),

sourcePrefix: '',

}alias: {

// Cesium module name

}module: {

unknownContextCritical: false,

rules: [

{test: /\.js$/,

loader: 'babel-loader',

include: [resolve('src'), resolve('test'),resolve('node_modules/webpack-dev-server/client')]

}]

}plugins: [

// Copy Cesium Assets, Widgets, and Workers to a static directory

new CopyWebpackPlugin([ {

//from: path.join(cesiumSource, 'Workers'),

to: 'Workers' } ]),

new CopyWebpackPlugin([ {

from: path.join(cesiumSource, 'Assets'),

to: 'Assets' } ]),

new CopyWebpackPlugin([ {

from: path.join(cesiumSource, 'Widgets'),

to: 'Widgets' } ]),

const CopyWebpackPlugin = require('copy-webpack-plugin')

d]ev: {

// historyApiFallback: true

historyApiFallback: { rewrites: [ { from: /./, to: path.ix.join(config.dev.assetsPublicPath, 'index.html') }, ], },

contentBase: config.build.assetsRoot, // for Cesium

}plugins: [

new webpack.DefinePlugin({

'process.env': require('../config/dev.env'),

// Define relative base path in cesium for loading assets

CESIUM_BASE_URL: JSON.stringify('/') }),

// copy custom static assets

new CopyWebpackPlugin([ { from: path.resolve(__dirname, '../static'), to: config.dev.assetsSubDirectory, ignore: ['.'] } ]),

#WEB前端开发#会一些静态页面布局,jascript可还行,但是投出去都没有收到回复,想

你会的东西太简单,一般企业不需要。另外,学历也很重要,如果你是大学毕业,一样会有人收你。或者你长得很漂亮或者很帅,都会有地方收你,哪怕从头教你都不怕,怕是你也没有什么附加项目。单纯的就只会这些是不够的的。因为现在有很多培训机构几个星期特训出来的农民工出来的水平怕是你要好得多。

还是要丰富自己的项目经验,建议去找个培训机构,回炉锻造一下,多丰富一些工作经验。一开始工资不重要,入行最重要。工作经验。

另外实在是为了找工作,建议你从事美工这个工作。美工的门槛要低得多。

作为一个前端开发,我来告诉你为什么,首先你的要吸引HR就必须要写得好,你会的技术,如:html5,css3, jascript, jq, angular, vue, ionic, iview, bootstrap, appcloud(app打包)Git(代码管理)等等,上面至少要有一两个开发项目(上线的那种).现在的前端如果像你说的会一些静态页面布局,首先静态页面是没有数据交互的才叫静态,现在的公司需要的是有经验的开发,你连数据交互都不会那人家怎么会要你?JaScript不说精通也要非常熟练才行,jq的话,你会当然更好,不会也没有太大问题,因为jq其实就是把JaScript的一些方法封装起来,你进行调用,如果你原生js学得好,jq随便学两三天你就上手了。es6语法也是很重要的。其他的框架,目前vue也比较多人用,容易上手,angular的话也不错,配合ionic来开发APP还是挺好用的,前端框架只要你比较熟练一个就可以了,都是大同小异的,像打包app,代码管理这些也是要有一定的了解,最起码要会用,因为很多公司都会用git来上传代码管理。特别是在团队开发项目的时候。所以我觉得你目前主要还是先把技术学好了再投个好的。祝你好运

现在是互联网寒冬,一大批程序员都失业在家,没有工作,所以投递出去,没有回复很正常,要放平心态,市面上比你的,价格低廉的,工作几年的大有人在,你会的这些不算什么,多找找总会有工作的。

现行web开发已经对前端要求越来越高添加代码了:

1、之前公司可能要求你会html+css和简单的就可以了

2、而现在随着前端框架的诞生,甚至你不会html+css就可以用这类框架去搭建出一个美观的页面布局,所以你不但要只会html+css还要会现在市场上流行的前端框架,如bootstrap、layui等

3、对于js的要求更高了,node的诞生让前端程序员摇身一变成为了全栈开发工程师、前端这几年发展迅猛远超后端动态语言,Angular、React、vue等js框架已经成了各种网络开发公司对前端程序员的基本硬性要求

你这会的东西还有点少,首先,你说会写静态页面太笼统,还要会写那些不同浏览器版本的兼容,其次,js,会一点不行,要精通,说的功能,能灵活运用的写出来,其次,为了方便,最少得会使用一些前端ui框架

有几个原因。

自身技术水平略低,前端的要求只会越来越高,只会静态页面放在两三年前还是蛮好找工作的,现在不行。多去了解继续学习吧。JS还行是指什么程度呢?能不能面对对象的思想动手撸一个to do网页呢

时间不对,现在都已经是四月份了,春招不多结束了。赶上春招,说不定还要一些公司要前端实习生。

还是多学习吧。只会CSS+HTML+JS,真的太不够看了。

现在web前端都会使用框架,先选个框架自学下再投。比如VUE,React 来自职Q用户:吴越

前端要学的还有很多很多。除了最基本的html5,css3,jascript以外,必须得会jquery。现在jquery都算是基础了。ajax请求是肯定也需要会的。除此之外,就是学习各种前端框架了。比如前面那位说的vue.js,react.js。除了这两个以外,还有很热门的angular.js,bootstrap也很热门。学了css3之后,还需要学习sass和less。这两个好像是css的封装。

来自职Q用户:吴女士

没有得到面试机会,说明是写的不够好;面2.vue引入外部的css,放在和引入vue的位置一样试没通过,说明基础不够牢

打好基础,丰富。

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

前端开发,大佬是真正的大佬,但是菜鸟也是真正的菜鸟。

npm run dev是在开发模式下运行项目,可以加载一些调试的模块如hotload;

npm run bu4、如果你跟不上时代的发展,没有以上技能,确实想要谋求一份前端工程师的工作还是有点难度的ild是项目打包命令,运行这个命令后会生成可以进行上线的打包文件,这时候打开根目录下的index.html就可以直接看到你的项目效果了

npm run dev是在开发模式下运行项目,可以加载一些调试的模块如hotload;

npm run build是项目打包命令,运行这个命令后会生成可以进行上线的打包文件,这时候打开根目录下的index.html就可以直接看到你的项目效果了

如何解决vue中css中定位?

}

只要父级元素设了ition并且不是static(默认),那么设定了absolute的子元素即以此为包含块(最近的)。 定位(Absolute itioning)元素定位的参照物是其包含块,既相对于其包含块进行定位,不一定是其父元素。

vue项目上传Github预览

当我们使用了 vue-cli 搭建了自己的项目,想上传到Github上进行预览效果,应该怎么作。

首先完成Vue项目以后,在上传到github之前,需要修改一些配置才能通过github pages预览项目。

打开项目根目录config文件夹下的index.js文件,进行如下修改:

看清楚是 build(上边还有个dev 是开发环境下的配置,不需要改动)下的 assetsPublicPath :将‘/'改为‘./'

在css中写的background-img的路径出错需要找到build文件夹下的utils.js,修改一下位置。打开根目录build文件夹中的utils.js文件,在下图中标出的位置中添加publicPath: '../../',

打开build文件夹下webpack.prod.conf.js文件,在webpack.prod.conf.js找到 new HtmlWebpackPlugin 中的 minify ,把minify中的 removeAttributeQuotes: true 改为 removeAttributeQuotes:false

1、进入目录,执行npm run build命令,打包项目

1.在github里面新建一个仓库,

2.将整个项目上传到github,执行以下现在很确定知道问题出在哪了,即:ExtractTextPlugin抽离css文件时没有转换资源引入路径,导致app.css引入了相对app.css目录为"static/img/ .png"的静态资源,该路径相对index.html即为:static/css/static/img/ .png。命令行

现在还是不能实现项目的线上预览效果,点击项目的 setting 项,然后找到 Github Pages

此时,你会看到页面一片空白,别急,在地址栏后面添加 dist (因为 index.html 是在 dist目录 下),回车,好了,线上页面效果出来了。

(先把本地的 dist 文件夹删除,再上传到 github ,更新 分支)

git命令行作:

这里要选择 gh-pages branch ,再点击连接,如果此时看到空白页面,别急,稍等一会(内容更新需要时间)好了,现在看仓库的 分支,不存在 dist 文件夹了,再看线上预览地址,也完美了。

我们先尝试在浏览器打开 index.html

页面显示是空白的?打开控制台,发现script 标签的引入路径好像不对,因为 static 文件夹和 index.html 是在同一个目录下的,这里却是从根目录引入 static 下的文件,正确的路径应该是 ./ 开头的相对路径: src="/uploads/3d55fe886f8945bd93edee3146bf3251.png" data-original=’./static/…’ 或者 src="/uploads/3d55fe886f8945bd93edee3146bf3251.png" data-original=‘static/…’。其实这跟配置资源的路径有关,打开项目根目录 config 文件夹下的 index.js ,定位到 build 下的 assetsPublicPath: ‘/’ 修改为 assetsPublicPath: ‘./’

dist 文件没有被上传到 github ,怎么回事?找到项目根目录的 .gitignore 文件,这里设置一些文件名,对应的文件将不会被提交到 github 上面,而 dist 被设置在里面,所以就不能上传到 github 上了,我们可以把 dist 从文件里移除。 当然还有另一种办法,就是在作 git 命令时,把 git add. 改为 git add -f dist 意思是强制把 dist 文件提交到 github 。

疑惑,为什么 dist 文件夹要设置不被提交? 试想一下,在真正项目开发中, dist 文件夹中的 static 和 index.html 最终是要被扔到服务from: path.join(cesiumSource, cesiumWorkers),器上的,而不是提交到 github 上。

1、 参考的原文地址1

2、 参考的原文地址2

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至836084111@qq.com 举报,一经查实,本站将立刻删除。

联系我们

工作日:9:30-18:30,节假日休息