【问题标题】:SPFX in Visual StudioVisual Studio 中的 SPFX
【发布时间】:2019-03-13 23:34:17
【问题描述】:

我想知道是否有人在 Visual Studio 中成功使用了 SPFX?

与 2016 年之前的 SharePoint 开发和 SPO 时间相比,SPFX 是一个不错的主意。 但它有这个缺点:Visual Studio Code。 我看到微软可能计划吸引更“hacky”的 Javascript 大众并将 SPFX 开发与 VS Code 联系起来,但 VS Code 与 Visual Studio 相去甚远。更不用说重构类名和文件了。有那个https://github.com/SharePoint/sp-dev-fx-vs-extension Repo,但它似乎没有得到太多的时间和爱。

有没有其他方法可以在成熟的 Visual Studio 中开发 SPFX?

【问题讨论】:

    标签: visual-studio spfx


    【解决方案1】:

    Xin 的回答不正确……那是 CSOM……CSOM !== SPFx.

    直截了当地说,Visual Studio 为 SPFx 开发带来的价值为零,除非您谈论的是 Azure DevOps 集成。

    人们关注 VSCode 的原因是它可以接触到更多的开发人员,而您只需要一个编辑器。您不需要一个成熟的 IDE,因为没有设计师/向导等来帮助您。

    SPFx 项目只是一个 Node.js 项目。如果你有 VS 的 Node.js 工具,你可以使用它。 SPFx 项目绝对没有什么特别之处。将其视为 VS 中的 Node.js 项目,一切顺利。

    社区插件没有得到太多喜爱的原因是对它的需求不多。但它所做的只是运行 SharePoint 的 Yeoman 生成器。 IOW,它会自动为您运行相同的命令行工具。从那时起,您就有了一个 Node.js 项目,并且上述内容适用。

    【讨论】:

      【解决方案2】:

      SPFX 项目是用 JavaScript 或 TypeScript 编写的,它们会生成 JavaScript 客户端代码。考虑到这一点并就编辑器体验而言,VS Code 拥有开发出色的 SPFX 解决方案所需的一切 - 由于您对 Visual Studio 和过去的服务器端 C# 解决方案的积极体验,我不会把它写下来。您可以对您的 VS Code 体验进行很多很棒的调整,从主题到可以根据您想要做的事情来增强您的体验的大量扩展。 GitLens、Microsoft Teams Toolkit 等。还有更多愚蠢的东西,例如 Power Mode

      作为一个曾经用 C# 开发 Web 部件和解决方案的人,有些事情我很怀念 - 当然 - 当你有服务器端控制时,你基本上是在上帝模式下操作 - 但是 - - 微软在这里采取的方法有很多好处。与旧 C# 解决方案的构建时间相比,节点编译时间快得惊人,多年来,它们已经大规模改进了 API——这意味着几乎不需要服务器端干预。我还没有遇到任何我无法通过提供的方法解决的问题。

      VS Code 确实有refactoring options - 重命名类、接口或变量就像在键盘上按 F2 一样简单,当你这样做时,它会重命名开放工作区中的所有引用。然后您可以使用Ctrl+K S 或文件菜单保存所有修改后的文件。并且有诸如 Ctrl+Shift+R 之类的命令用于重构方法。我强烈鼓励您以开放的心态来处理 VS Code——开发团队没有提供的东西,开源社区通常提供的东西。这是一个很棒的 IDE。

      【讨论】:

        【解决方案3】:

        我曾尝试使用 VS2019 和用于 SPFX 的社区项目模板创建一个 SPFx 项目。新项目永远挂起 VS。

        VS Code 最适合 SPFx,因为它轻量级、快速且具有大量扩展。

        【讨论】:

        • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
        【解决方案4】:

        我认为您可以使用社区版本来执行 SPFx。

        记得在 NuGet 中添加 Microsoft.SharePoint.Client.dllMicrosoft.SharePoint.Client.Runtime.dll

        使用以下代码获取 SharePoint 上下文

        ClientContext context = new ClientContext(‘URL’) 
        

        通过 URL 获取 SharePoint 网站:

        Web web = context.Web; 
        

        谢谢

        【讨论】:

          猜你喜欢
          • 2017-08-10
          • 2018-04-15
          • 1970-01-01
          • 2015-11-19
          • 1970-01-01
          • 2020-12-11
          • 1970-01-01
          • 2010-12-27
          • 2017-07-08
          相关资源
          最近更新 更多