浏览器同步 - 在 "src" 目录中提供 "node_modules"

Browser-sync - serve "node_modules" out of "src" directory

我正在通过 lite-server 使用 browsersync,并具有以下配置:

{
    "port": 8000,
    "files": [
        "./src/**/*.{html,htm,css,js}"
    ],
    "server": {
        "baseDir": "./src",
        "routes": {
            "node_modules": "../node_modules" <--- Attempt to serve node_modules
        }
    }
}

项目布局是这样的:

node_modules src |-app |-index.html |-systemjs.config.js package.json bs-config.json

问题是 index.html 里面的任何引用 <script src="node_modules/....js"> 失败并显示 404。

如何提供 .src 目录之外的路径?

您可以在 baseDir 配置中使用多个目录:

{
    "server": {
        "baseDir": ["./", "./src" ]
    }
}

您可以像 Edvin 提到的那样,通过向 baseDir 添加一个元素来公开整个项目文件夹。

但如果您只公开 /node_modules 使用路由会更好:

module.exports = {
    server : {
        baseDir : './dist',
        routes : {
            '/vendor' : './node_modules'
        }
    }
}