Nativescript:使用Sidekick

时间:2018-10-01 12:39:06

标签: nativescript

我正在制作一个使用nativescript-audio的简单应用,我想在该应用中播放一些mp3样本。问题是,当我单击Sidekick中的“在设备上运行”时,它不会传输我包含在应用文件夹中的任何mp3文件(因此无法播放)。奇怪的是,如果我只是更改文件的扩展名(例如更改为.jpg),则传输工作正常(而且我什至可以像播放mp3一样播放该文件)。

因此,仅举例说明问题,如果我使用此代码,它将无法正常工作:

const audio = require('nativescript-audio');
const player = new audio.TNSPlayer();
const playerOptions = {
  audioFile: '~/audio/myfile.mp3',
  loop: false
};

但是,如果我只是将“ myfile.mp3”重命名为“ myfile.jpg”,请更改如下代码:

...
audioFile: '~/audio/myfile.jpg',
...

然后重建应用程序,它可以正常工作并播放最初存储在myfile.mp3中的示例,现在又存储在myfile.jpg中。

使用文件系统,我还可以检测到存在.jpg文件,但不存在.mp3。

我想问的是Sidekick是否仅查找某些文件扩展名,而在构建过程中忽略其他扩展名,以及是否可以更改“监视的文件扩展名”设置。

1 个答案:

答案 0 :(得分:1)

我猜您正在使用webpack运行,默认的webpack配置将仅复制字体和图像(JPEG / PNG等)以及源代码。如果您还有其他文件要复制,请在webpack.config.js内修改复制插件的配置,

        new CopyWebpackPlugin([
            { from: "fonts/**" },
            { from: "songs/**" },
            { from: "**/*.jpg" },
            { from: "**/*.png" },
            { from: "**/*.png" },
        ], { ignore: [`${relative(appPath, appResourcesFullPath)}/**`] }),