从虚拟目录中提供Webpack

时间:2017-08-30 18:27:57

标签: webpack webpack-dev-server

我正在构建我所有的文件,并且正在构建一个' dist'文件夹中。

Dist

->index.html

->bundle.js

我将配置设置为运行我需要的特定端口。

{   
    entry: './src/index.js',
    devtool: 'source-map',
    output: {
        filename: 'bundle.js',
        path: path.resolve(__dirname, 'dist')
    },
    devServer: {
        port: 9004,
        contentBase: path.join(__dirname, "dist")
    },
    watch: true,
}

我已尝试添加

proxy: {
    "/virtual-directory-name-here": {
        "target": {
            "host": "localhost",
            "port": 9004
        }
    }
}

在devServer下,但没有运气。我了解您可以在输出中添加publicPath,但我不一定需要随虚拟目录一起提供的文件。我只是希望它像IIS虚拟目录一样。

我的最终目标是提供位于http://localhost:9004/virtual-directory-name-here

dist文件夹中的所有文件

有人能指出我正确的方向吗?

2 个答案:

答案 0 :(得分:1)

我也一直在寻找这个。 使用devServer的代理选项找到了解决方案:

proxy: {
    "/virtual-folder": {
        target: "http://127.0.0.1:9004",
        pathRewrite: {"^/virtual-folder" : ""},
    }
},

另外,如果有人使用https进行localhost,可能需要添加到config:

secure: false 

答案 1 :(得分:0)

我能够使用此配置执行此操作:

export = {
    devServer: {
        publicPath: "/virtual-directory-name-here/",
        openPage: "virtual-directory-name-here/",
    },
};

请注意,publicPath有一个前面的斜杠,但openPage没有。这似乎很重要。