在点网标准nuget包中包含jsx,js?

时间:2018-03-25 15:25:11

标签: reactjs asp.net-core nuget .net-standard

我有多个ASP.Net核心解决方案(网站),我很乐意在每个解决方案中共享整个JSX文件目录。在过去,我将文件添加到本地托管的nuget包(.Net 4.7)中,文件将作为内容分发(我已经看到这是用readme.txt完成的,这是我得到的想法)。我尝试了同样的方法将文件添加到.Net标准dll(我希望与.net 4.7和.net核心...甜蜜共享),将jsx文件标记为内容但是当我将本地nuget包添加到我的asp时.net核心web项目,我得到一个“链接”类型的图标weird linked icon,该文件实际上不在我期望的目录中。因为该文件并非“真正”存在,所以我不能将其包含在我实际的Web项目中存在的其他jsx文件中。

我尝试过共享项目,但只能共享相同的解决方案。我在他们自己的git repos中有多个解决方案。我不想为私人npm软件包付费而且我看到人们建议不要在npm package.json中指向本地git repos(这种方法似乎在我的未来)。

我的目标:在解决方案/项目中创建和维护常见的reactjs组件(jsx现在,我希望在我有时间开始时转移到tsx)和“任何”(免费)方式,共享这些组件其他解决方案/项目在不同的解决方案/ Web项目(不同的本地回购)中。我不觉得这应该是如此罕见。我希望这是一个简单的事情,可以忽略一个简单的解决方案......提前致谢!

更新:我试过了:

 <ItemGroup>
<Content Include="TestFolder/**/*.*" copyToOutput="true">
  <IncludeInPackage>true</IncludeInPackage>
  <CopyToOutput>true</CopyToOutput>
  <BuildAction>Content</BuildAction>
  <copyToOutput>true</copyToOutput>
  <CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>

并且我的目标网络项目中的文件仍然“链接”。

更新2: 显然我的文件实际存储在.nuget \ packages \ myPackageName \ version \ contentFiles \ bla \ bla文件夹中。 如何将“共享的nuget”jsx文件包含到我的“基于项目”的jsx文件中?这个链接的东西是有道理的,我只是不知道如何使用它们。 我真的不想使用“include myControl from”../../../../../../../14目录以后/ myControl.jsx“

请记住,我正在使用npm和web pack来编译我的组件。

2 个答案:

答案 0 :(得分:0)

我做了类似的事情,但我必须明确指定目标目录:

<file src="bundle.js" target="folder1/folder2/bundle.js" />

因此重复使用这种方式有限。我对链接文件没有这样的问题。安装nuget时,文件将复制到解决方案中。

注意:nuget是普通JS(没有.NET),目标不是.Net Core(Net Framework 4.6)

答案 1 :(得分:0)

我最终放弃了nuget包路由,并通过“TFS包”切换到TFS(在线)npm包托管看起来像nuget内容(作为jsx文件)只是不起作用。

相关问题