Javascript 网页包URL不正确
我在正确解析URL的网页包时遇到问题。在本地节点服务器上运行时(因为它很方便),它就像一个符咒一样工作,但当我将它上载到服务器时,它会在我将它放入子文件夹()后停止工作,如果我将它放入根目录中,它就可以了 我在JS中加载的图像需要中断。它们放在我项目根目录下的“资产”文件夹中。但它在服务器的根目录中搜索 网页包配置:Javascript 网页包URL不正确,javascript,node.js,webpack,build-tools,Javascript,Node.js,Webpack,Build Tools,我在正确解析URL的网页包时遇到问题。在本地节点服务器上运行时(因为它很方便),它就像一个符咒一样工作,但当我将它上载到服务器时,它会在我将它放入子文件夹()后停止工作,如果我将它放入根目录中,它就可以了 我在JS中加载的图像需要中断。它们放在我项目根目录下的“资产”文件夹中。但它在服务器的根目录中搜索 网页包配置: var webpack = require('webpack'); var ExtractTextPlugin = require('extract-text-webpack-pl
var webpack = require('webpack');
var ExtractTextPlugin = require('extract-text-webpack-plugin');
var path = require('path');
var config = require('./_config'); //paths config..
module.exports = {
entry: [
config.build('js', 'src'), //JavaScript entry point
config.build('css', 'src'), //CSS entry point
output: {
path: config.js.dest.path,
filename: config.js.dest.file //JavaScript end point
}, //quickest, webpack -d -p for production
devtool: 'eval',
module: {
//test: which filetype?,
//exclude: which folders to exclude
loaders: [{
test: /\.js$/,
exclude: /node_modules/,
loader: 'babel',
query: {
babelrc: path.join(__dirname, '.babelrc')
}
}, {
test: /\.js$/,
exclude: /node_modules/,
loader: 'eslint'
}, {
test: /\.scss$/,
loader: ExtractTextPlugin.extract('css!postcss!sass?outputStyle=expanded')
}, {
test: /\.json$/,
loader: 'file?hash=sha512&digest=hex&name=../assets/[hash].[ext]'
}, {
test: /\.(jpe?g|png|gif|svg)$/i,
loaders: [
'file?hash=sha512&digest=hex&name=../assets/[hash].[ext]',
'image-webpack?{progressive:true, optimizationLevel: 7, interlaced: false, pngquant:{quality: "65-90", speed: 4}}'
]
}]
}, postcss: function(){
return [
require('postcss-will-change'),
require('postcss-cssnext')({
browsers: ['IE >= 10', 'last 2 version'],
features: {
autoprefixer: {
cascase: false
}
}
})
]
}, //webpack plugins
plugins: [
new webpack.optimize.DedupePlugin(),
//extract CSS into seperate file
new ExtractTextPlugin(
config.build('css', 'dest')
)
], eslint: {
configFile: path.join(__dirname, '.eslintrc'),
ignorePath: path.join(__dirname, '.eslintignore')
}, resolve: {
extensions: ['', '.json', '.js', '.css'],
fallback: path.join(__dirname, 'node_modules')
}, resolveLoader: {
fallback: path.join(__dirname, 'node_modules')
}
};
提前谢谢 设置为指向您的资产目录。例如:
output: {
path: config.js.dest.path,
filename: config.js.dest.file,
publicPath: 'assets'
}
此外,您需要调整加载程序定义,如下所示:
loader: 'file?hash=sha512&digest=hex&name=./assets/[hash].[ext]'
完成这些调整后,您的应用程序将为我运行,不会出现任何错误。设置为指向您的资产目录。例如:
output: {
path: config.js.dest.path,
filename: config.js.dest.file,
publicPath: 'assets'
}
此外,您需要调整加载程序定义,如下所示:
loader: 'file?hash=sha512&digest=hex&name=./assets/[hash].[ext]'
在完成这些调整后,您的应用程序为我运行,没有任何错误。我尝试了您的解决方案,但仍然没有成功:
Phaser.Loader-image[cuberdon]:从URL/assets//assets/58e500fe3b4f0ae0d2870715023585f.png加载资产时出错。
您能在GitHub上设置一个可运行的示例吗?没有具体的东西很难说<代码>公共路径显然在做些什么。我只是不确定这一点。你可以在这里找到:这是一个学校项目,所以不要期望太多:)这很有效,sorta。它现在搜索正确目录中的文件。ie是我的文件夹/资产的根目录,但它将文件保存在JS文件夹/资产中!现在就是这样。但我希望我的资产在我的根。不是JS文件夹的一部分。我认为您需要将这两者结合起来publicPath
可以用来调整这种行为。我尝试了你的解决方案,但仍然没有成功:Phaser.Loader-image[cuberdon]:从URL/assets//assets/58e500fe3b4f0ae0d2870715023585f.png加载资产时出错。你能在GitHub上设置一个可运行的示例吗?没有具体的东西很难说<代码>公共路径
显然在做些什么。我只是不确定这一点。你可以在这里找到:这是一个学校项目,所以不要期望太多:)这很有效,sorta。它现在搜索正确目录中的文件。ie是我的文件夹/资产的根目录,但它将文件保存在JS文件夹/资产中!现在就是这样。但我希望我的资产在我的根。不是JS文件夹的一部分。我认为您需要将这两者结合起来<代码>公共路径可用于调整该行为。