无法从本地加载js文件,因为在Dojo 2应用程序中CDN路径正常工作。在index.html中使用脚本标记包含自定义JavaScript文件。但是在浏览器中它显示找不到错误404文件。
请建议我在Dojo 2申请中需要这些。
这是我如何使用脚本标记来包含
script src="assets/js/jquery.js" type="text/javascript"
答案 0 :(得分:1)
当前,Dojo 2构建不会将外部资产复制到构建目录,但是我们正在努力在.dojorc
配置中指定此类资产({{1}扫描资产)。同时,将需要另一种传递静态资产的方式(例如,在服务器级别配置index.html
路径)。
答案 1 :(得分:0)
假设您正在使用dojo 2 cli,则需要将资产文件夹移动到应用程序的根目录中,该文件夹位于dojo 2 build docs中:
虽然大多数资产将由src /目录中的模块导入并因此由主构建管道处理,但通常有必要提供静态资产或将资产包括在HTML文件本身中(例如,收藏夹图标)。
可以将静态资产添加到项目根目录下的assets /目录。在构建时,这些资产按原样复制,而没有文件散列到输出/ {mode} / assets,并且可以使用绝对/ assets /路径进行访问。例如,如果用户需要访问名为terms.pdf的静态服务条款文档,则该文件将添加到asset / terms.pdf中并通过URL /assets/terms.pdf进行访问。
该构建还解析src / index.html中的CSS,JavaScript和图像资产,对其进行哈希处理并将其包括在output / {mode} /目录中。例如,应用程序通常在URL栏中显示一个图标。如果该图标被命名为favicon.ico,则可以将其添加到src /目录中并通过包含在src / index.html中。然后,该版本将对文件进行哈希处理并将其复制到output / {mode} / favicon。[hash] .ico。
但是另一种选择是向软件包config中添加新的npm命令"move-assets": "cp -R ./src/assets ./output/dist/assets"
"scripts": {
"start": "dojo build --mode dev --watch memory --serve",
"build": "dojo build --mode dist && npm run move-assets && npm run move-assets",
"move-assets": "cp -R ./src/assets ./output/dist/assets"
}
这会将您的资产移动到构建输出文件夹./output/dist