gpt4 book ai didi

node.js - 有没有办法自动将文件复制到 wwwroot?

转载 作者:搜寻专家 更新时间:2023-10-31 22:33:25 27 4
gpt4 key购买 nike

我的 index.html 位于名为 wwwroot 的目录中,可以通过 locahost:5001 上的浏览​​器访问它。当我使用 NPM 安装一些包时,目录 node_modules 被放置在与 wwwroot 相同的级别。

当我链接到文件时,我使用这样的相对路径。

href="../node_modules/package_this_or_that/package.min.js"

在我看来,更好的方法是将它们传送到 wwwroot 目录并驻留在那里。不是包的所有内容,只是实际使用的文件(跳过自述文件等)。

是否有相应的软件包?还是需要使用构建脚本来完成?

最佳答案

这个答案推荐使用 GULP which seems dated now .

您不应该像 html 或 cshtml 文件一样从前端访问 node_modules 文件。所以你是对的,你应该将它们复制到 wwwroot 文件夹。

您可以按照 Tseng comment 中的链接使用 grunt但我个人更喜欢 Gulp,我认为它更快更容易使用。

你的 package.json 文件:

{
"version": "1.0.0",
"name": "asp.net",
"private": true,
"devDependencies": {
"gulp": "3.9.1",
"gulp-cached": "1.1.0",
}
}

然后在项目的根级别创建一个 gulpfile.js,您可以编写如下内容

var gulp = require('gulp'),
cache = require('gulp-cached'); //If cached version identical to current file then it doesn't pass it downstream so this file won't be copied

gulp.task('default', 'copy-node_modules');

gulp.task('copy-node_modules', function () {

try {

gulp.src('node_modules/**')
.pipe(cache('node_modules'))
.pipe(gulp.dest('wwwroot/node_modules'));
}
catch (e) {
return -1;
}
return 0;
});

最后打开 Task Runner Explorer(如果您使用的是 Visual Studio)并执行您的 default 任务或直接执行 copy-node_modules任务。

Gulp 非常有用,我建议您探索其他不同的 gulp 任务。您可以合并和缩小 CSS 和 JS 文件,删除注释,您甚至可以创建一个 watch 任务,在文件更改时立即执行其他任务。

关于node.js - 有没有办法自动将文件复制到 wwwroot?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40593122/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com