小编awh*_*who的帖子

如何将 next.js 应用程序部署到 Gitlab / Github Pages?

当我在本地运行时,我有一个pages/index.js可用的。localhost:3000next

我想运行next build && next export此页面并将其部署到 Gitlab Pages。由于 Gitlab Pages(或 Github Pages)的工作方式,我的页面应该可以被https://my-username.gitlab.io/my-nextjs-project/. 但由于/my-nextjs-project/URL 中出现此段,我无法成功将我的应用程序部署到 Gitlab Pages。

如果这是一个简单的 React 应用程序,我会设置output.publicPathin webpack.config.js。next.js 中的类比是什么output.publicPath?或者,您是否知道部署到 Gitlab/Github Pages 的公共项目,以便我可以检查它们的配置?

谢谢你!

javascript next.js

5
推荐指数
1
解决办法
4492
查看次数

如何从Vue组件内的标签中删除属性?

我想使用data-test的属性(如建议在这里运行测试时),所以我可以参考使用这些属性的标签。

  <template>
    <div class="card-deck" data-test="container">content</div>
  </template>
Run Code Online (Sandbox Code Playgroud)

将使用以下方法找到该元素:

document.querySelector('[data-test="container"]')
// and not using: document.querySelector('.card-deck')
Run Code Online (Sandbox Code Playgroud)

但我不希望这些data-test属性投入生产,我需要删除它们。我怎样才能做到这一点?(有babel 插件可以做到这一点。)

谢谢!

vue.js babeljs

5
推荐指数
1
解决办法
1506
查看次数

Sinon如何监视由Vue事件触发的Vue组件方法?

为了描述我的问题而进行的基本设置:

使用vue-cli 2.8.2,我基于webpack模板(vue init webpack vue-test-sinon-spy)生成了一个新项目,其中保留了vue-cli的所有默认值(禁用eslint无关)。

在此vue-cli生成的项目中所做的更改:

  1. 我在Hello.vue的h2标签上附加了一个事件:
<h2 @click="sayHello">Essential Links</h2>
Run Code Online (Sandbox Code Playgroud)
  1. 我在Hello组件中添加了一个方法
<script>
export default {
  ...
  methods: {
    sayHello() {
      console.log('hello!')
    }
  }
}
</script>
Run Code Online (Sandbox Code Playgroud)
  1. 我在Hello.spec.js中添加了一个新测试
describe('Hello.vue', () => {
  // ...

  it('should handle click on h2 tag', () => {
    const Constructor = Vue.extend(Hello)
    const vm = new Constructor().$mount()
    sinon.spy(vm, 'sayHello')

    // [A] if I run the line below, vm.sayHello.callCount will be 0 - not as expected
    vm.$el.querySelector('h2').click()

    // [B] if I run the line below, …
Run Code Online (Sandbox Code Playgroud)

sinon vuejs2

3
推荐指数
1
解决办法
3114
查看次数

标签 统计

babeljs ×1

javascript ×1

next.js ×1

sinon ×1

vue.js ×1

vuejs2 ×1