资源是通过本地引入在public路径下为什么会出现project
时间: 2024-03-02 22:48:48 浏览: 8
如果你的资源在`public`目录下,那么你可以直接使用相对路径来引用该资源,而无需包含`project`路径。例如,如果你的资源在`public/luban-motor-sdk/Assets/Textures/worldTerrain/layer.json`中,可以通过以下方式来引用它:
```
/luban-motor-sdk/Assets/Textures/worldTerrain/layer.json
```
在这种情况下,前面的斜杠表示根目录,因此可以从根目录开始引用该资源。这样你就可以去除`http://localhost/project/`部分,只使用相对路径来引用该资源。
相关问题
在public文件下的js文件中引入项目中的其他js文件
可以使用相对路径或绝对路径来引入项目中的其他js文件。例如,如果项目结构如下:
```
project/
public/
js/
main.js
src/
utils/
helper.js
```
在main.js中引入helper.js,可以使用相对路径:
```js
// main.js
import { someFunction } from '../src/utils/helper.js';
```
也可以使用绝对路径:
```js
// main.js
import { someFunction } from '/src/utils/helper.js';
```
注意,使用绝对路径时需要确保服务器配置正确,以便正确地解析路径。
vue用require引入的图片在生产环境无法显示
在 Vue 中,使用 `require` 引入图片时,Webpack 会将图片转换成 base64 编码,因此在开发环境中可以正常显示。但在生产环境中,Webpack 会将图片打包成单独的文件,此时需要正确配置 Webpack 才能正确加载图片。
首先,在 Webpack 配置文件中,需要添加针对图片的 loader,例如:
```javascript
module.exports = {
// ...
module: {
rules: [
{
test: /\.(png|jpe?g|gif|svg)(\?.*)?$/,
loader: 'url-loader',
options: {
limit: 10000, // 小于10kB的图片转成base64编码的dataURL字符串写到代码中
name: 'img/[name].[hash:7].[ext]' // 其他的图片生成单独的文件
}
}
]
}
};
```
然后,在 Vue 组件中引入图片时,需要使用相对路径,并且不能使用 `~` 开头,例如:
```html
<template>
<div>
<img :src="require('@/assets/logo.png')" alt="Logo">
</div>
</template>
```
最后,在打包时需要将 `publicPath` 配置为正确的路径,例如:
```javascript
module.exports = {
// ...
output: {
publicPath: '/my-project/' // 项目部署的路径
}
};
```
这样就可以在生产环境中正确显示图片了。