- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
使用 webpack,我将源文件与分发文件分开。
我遇到的一个问题与 output.publicPath
有关,如果我定义一个,生成的 index.html 有错误的 CSS 和 JS 资源路径。我认为问题与extract-text-webpack-plugin
有关见:https://github.com/webpack-contrib/extract-text-webpack-plugin/issues/246
现在我已经将代码分为源代码和分发版 index.html
可在 http://localhost/target/classes/war
获得.并且每次页面刷新都需要手动输入 URL,因为路由无法识别文件夹名称。 <base />
头中的标签似乎没有效果。
如何指示 webpack 显示文件夹 ./target/classes/war
的内容在 http://localhost/
? (不使用 output.publicPath
)
为了完整起见,请在下面找到整个 webpack.config.js
就目前而言:
var path = require('path');
var webpack = require('webpack');
var HtmlWebpackPlugin = require('html-webpack-plugin');
var ExtractTextPlugin = require('extract-text-webpack-plugin');
var GoogleFontsPlugin = require("google-fonts-webpack-plugin");
module.exports = {
entry: {
polyfills: './src/main/webapp/polyfills.ts',
vendor: './src/main/webapp/vendor.ts',
app: './src/main/webapp/app/core/global/main/main.ts'
},
output: {
filename: 'target/classes/war/script/[name].[hash].bundle.js'
},
resolve: {
extensions: ['.ts', '.js'],
alias: {
css: path.resolve(__dirname, "src/main/webapp/WEB-INF/scss"),
src: path.resolve(__dirname, "src/main/webapp"),
dist: path.resolve(__dirname, "target/class/war")
}
},
module: {
rules: [
{
test: /\.ts$/,
loaders: [
{
loader: 'awesome-typescript-loader',
options: {
configFileName: path.resolve(__dirname, "src/main/webapp/WEB-INF/conf/tsconfig.json")
}
},
'angular2-template-loader'
]
},
{
test: /\.html$/,
loader: 'html-loader'
},
{
test: /\.(png|jpe?g|gif|svg|woff|woff2|ttf|eot|ico)$/,
loaders: [
{
loader: "file-loader",
options: {
hash: "sha512",
digest: "hex",
name: "/target/classes/war/assets/[name].[hash].[ext]"
}
}
]
},
{
test: /\.(css|scss)$/,
exclude: path.resolve(__dirname, "src/main/webapp/scss"),
include: path.resolve(__dirname, "src/main/webapp/app"),
loaders: [
{
loader: "raw-loader"
},
{
loader: "sass-loader"
}
]
},
{
test: /\.(css|scss)$/,
exclude: path.resolve(__dirname, "src/main/webapp/app"),
use: [
{
loader: "style-loader" // creates style nodes from JS strings
},
{
loader: "css-loader" // translates CSS into CommonJS
},
{
loader: "resolve-url-loader" // compiles Sass to CSS
},
{
loader: "sass-loader" // compiles Sass to CSS
}
]
}
]
},
plugins: [
// Workaround for angular/angular#11580
new webpack.ContextReplacementPlugin(
// The (\\|\/) piece accounts for path separators in *nix and Windows
/angular(\\|\/)core(\\|\/)@angular/,
path.resolve(__dirname, "src/main/webapp"), // location of your src
{} // a map of your routes
),
new webpack.optimize.CommonsChunkPlugin({
name: ['app', 'vendor', 'polyfills']
}),
new HtmlWebpackPlugin({
template: 'src/main/webapp/index.html',
filename: 'target/classes/war/index.html',
chunksSortMode: function (chunk1, chunk2) {
var order = ['polyfills', 'vendor', 'app'];
var order1 = order.indexOf(chunk1.names[0]);
var order2 = order.indexOf(chunk2.names[0]);
return order1 - order2;
}
}),
new ExtractTextPlugin({
filename: "target/classes/war/css/styles.[contenthash].css"
}),
new GoogleFontsPlugin({
fonts: [
{family: "Lato"}
],
path: "src/main/webapp/scss/fonts/",
filename: "src/main/webapp/scss/fonts/fonts.css"
})
]
};
最佳答案
这个 webpack 配置的结果是。
<script type="text/javascript" src="http://localhost/target/classes/war/script/app.5e643bae101bd4743814.bundle.js"></script>
var path = require('path');
var webpack = require('webpack');
var HtmlWebpackPlugin = require('html-webpack-plugin');
var ExtractTextPlugin = require('extract-text-webpack-plugin');
module.exports = {
entry: {
// it's .js now for testing
app: './src/main/webapp/app/core/global/main/main.js'
},
output: {
filename: 'target/classes/war/script/[name].[hash].bundle.js',
publicPath: 'http://localhost/'
},
module: {
rules: [
{
test: /\.(css|scss)$/,
loaders: [
{
loader: "raw-loader"
},
{
loader: "sass-loader"
}
]
},
]
},
plugins: [
new HtmlWebpackPlugin({
// it's .ejs now
template: 'src/main/webapp/index.template.ejs',
filename: 'target/classes/war/index.html',
}),
new ExtractTextPlugin({
filename: "target/classes/war/css/styles.[contenthash].css"
}),
]
};
关于Webpack 开发服务器 : define WWW root,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44617050/
我正在使用 nginx on Rackspace cloud following a tutorial并且已经搜索了网络,但到目前为止无法对此进行排序。 出于 SEO 和其他原因,我希望 www.my
我到处搜索并尝试了各种 .htaccess 配置,但没有找到答案。 只访问 .htaccess 文件我想: 将 NON www 定向到 NON www SSL示例:http://example.com
下面的 htaccess 命令将所有非 www 转移到 http www RewriteEngine On RewriteCond %{HTTP_HOST} !^www\. RewriteRule ^
我希望重定向所有内容: http:// http://www. https://www. to https:// 这可能已经在这里得到了回答,但是在浏览了看起来相关的问题后,它们都不完全是我想要的,并
我有一个全新的网站,最初是 http://然后我将网站重定向到 http://www它的工作就像一个魅力,但自从我安装了 SSL 我有两个版本的网站 http://www.example.com和 h
我必须将我的网站从 https://www.example.com/ 重定向到 https://website.com/。 SSL 已正确安装在我的服务器上。 我正在使用 Apache 并且必须使用
我有一个 SEO 人员让我很困惑。他提到在 Google 网站管理员工具中,我应该验证网站的 www 版本以及非 www(非 www 已经验证)。所以我告诉他没有必要,因为出于规范原因(如 Matt
-- 请参阅下面的 Tl;dr 以获得简短版本-- 在我的 ubuntu-16.04 droplet apache2 和 php7 上都使用用户 www-data。在某些时候,所有三个 wordpre
Tumblr 的文档 ' Using a custom domain name ' 非常有帮助,它清楚地说明我需要创建一个 A唱片为 example.com指向 66.6.44.4 ,以便我的网站可以
我有一个托管在谷歌云存储桶上的静态网站。 在我的存储桶前面,我有 cloudflare dns。 存储桶是 example.com Cloudflare 设置:CNAME > @ > c.storag
我正在使用以下代码编写 www 到非 www 重定向: RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
我的一个 friend 目前正在修补 JpCap在 Java 中,我们发现了一些关于 Java 正则表达式的有趣(也许?)问题。 只有 HTTP 流量被捕获并随后进行分析。为此,他使用了如下模式: P
我目前在 htaccess 文件中使用以下代码,将我的服务器中托管的网站的所有非 www 网址重定向到 www 网址。 RewriteCond %{HTTP_HOST} !^www\. Rewrite
我有一个 wordpress 网站 www.domain.com,我们刚刚购买了一个 SSL 证书,但它只适用于 domain.com(没有 www)。我配置了 .htaccess 和站点 url R
我的 Apache 服务器上的虚拟主机中有以下内容, Redirect permanent / https://domain.com Options
我正在尝试将所有流量从 HTTP 站点重定向到 HTTPS 站点,并将所有 www 流量重定向到非 www 站点。我的设置包括 HTTP 站点的 nginx.conf 文件,我已将 301 重定向规则
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 关闭 12 年前。 Improve thi
我有一个域说 http://www.testexample.com .当我登录 http://www.testexample.com然后回到http://testexample.com在浏览器中;登录
我正在为我的 Web 应用程序使用 EC2 实例。我买了一个新的 SSL 并将其安装在 AWS 经典负载均衡器上,我的 SSL 工作正常。但从 SEO 的角度来看,我想将所有请求从 www 和非 ww
这是否受跨源策略限制? 最佳答案 你不能。您只能向 www.foo.com 发送请求。 关于javascript - 在页面 'www.foo.com' 上,从 'www.example.com' 加
我是一名优秀的程序员,十分优秀!