當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript neutrino.Neutrino類代碼示例

本文整理匯總了TypeScript中neutrino.Neutrino的典型用法代碼示例。如果您正苦於以下問題:TypeScript Neutrino類的具體用法?TypeScript Neutrino怎麽用?TypeScript Neutrino使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


在下文中一共展示了Neutrino類的7個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1: default

export default (neutrino: Neutrino) => {
  // Add environment variables to bundle.
  neutrino.use(env, getTuxEnv())

  neutrino.use(targetEnv, neutrino.options.target)

  neutrino.use(appEntryConstant, neutrino.options.appEntry)
}
開發者ID:aranja,項目名稱:tux,代碼行數:8,代碼來源:env.ts

示例2: default

export default (neutrino: Neutrino) => {
  // Only write stats files during build. Dev server automatically
  // has access to stats.
  neutrino.on('prebuild', () =>
    neutrino.config.plugin('stats').use(StatsWriterPlugin, [
      {
        fields: ['assetsByChunkName', 'chunks', 'publicPath', 'hash'],
      },
    ])
  )
}
開發者ID:aranja,項目名稱:tux,代碼行數:11,代碼來源:stats.ts

示例3: default

export default (neutrino: Neutrino) => {
  // Configure admin variable.
  if (process.env.ADMIN == null) {
    const { admin } = neutrino.options
    const buildAdmin =
      admin != null ? admin : process.env.NODE_ENV === 'development'
    process.env.ADMIN = buildAdmin ? 'true' : ''
  }

  // Add ADMIN environment variable to bundle.
  neutrino.config.plugin('env').tap(args => args.concat('ADMIN'))

  // Prioritize `source.admin.js` over `source.js` in admin builds.
  if (process.env.ADMIN) {
    neutrino.use(adminExtension)
  }
}
開發者ID:aranja,項目名稱:tux,代碼行數:17,代碼來源:neutrino.ts

示例4: default

export default (neutrino: Neutrino, options: any = {}) => {
  const pkg = getPackageJson(neutrino.options.root)
  const sourceMap = !!(
    (pkg.dependencies && pkg.dependencies['source-map-support']) ||
    (pkg.devDependencies && pkg.devDependencies['source-map-support'])
  )

  neutrino.config.module
    .rule('compile')
    .use('babel')
    .tap(existing =>
      compile.merge(existing, {
        plugins: [
          ...(options.polyfills.async
            ? [[require.resolve('fast-async'), { spec: true }]]
            : []),
          require.resolve('babel-plugin-dynamic-import-node'),
        ],
        presets: [
          [
            'babel-preset-env',
            {
              debug: neutrino.options.debug,
              targets: { node: '6.10' },
              modules: false,
              useBuiltIns: true,
              exclude: options.polyfills.async
                ? ['transform-regenerator', 'transform-async-to-generator']
                : [],
            },
          ],
        ],
      })
    )

  neutrino.use(webCompat)
  // prettier-ignore
  neutrino.config
    .when(sourceMap, () => neutrino.use(banner))
    .performance
      .hints(false)
      .end()
    .target('node')
    .node
      .clear()
      .set('__filename', false)
      .set('__dirname', false)
      .end()
    .devtool('source-map')
    .externals([nodeExternals({ whitelist: [/^webpack/, /tux/] })])
    .entry('index')
      .add(neutrino.options.mains.index)
      .end()
    .output
      .path(neutrino.options.output)
      .filename('[name].js')
      .libraryTarget('commonjs2')
      .chunkFilename('[id].[hash:5]-[chunkhash:7].js')
      .end()
    .when(neutrino.options.env.NODE_ENV === 'development', config => {
      config.devtool('inline-source-map');
    });
}
開發者ID:aranja,項目名稱:tux,代碼行數:63,代碼來源:ssr.ts

示例5: default

export default (neutrino: Neutrino, opts: Partial<Options> = {}) => {
  const isDev = process.env.NODE_ENV === 'development'
  const options = merge<Options>(
    {
      hot: true,
      polyfills: {
        async: true,
      },
      html: {},
    },
    opts as Options
  )

  // This preset depends on a target option, let's give it a default.
  neutrino.options.target = neutrino.options.target || 'browser'
  const isServer = (neutrino.options.isServer =
    neutrino.options.target === 'server')

  // Replace entry based on target.
  neutrino.options.appEntry = neutrino.options.mains.index
  neutrino.options.mains.index = isServer
    ? neutrino.options.serverEntry
    : neutrino.options.browserEntry

  // Build on top of the offical react preset (overriding devServer and open functionality for our own in tux-scripts).
  // Skip react-hot-loader for now while enabling other HMR functionality.
  const reactOptions = merge<any>(options, {
    devServer: { open: false },
    hot: false,
    ...isServer ? { style: { extract: false } } : {},
  })
  neutrino.use(react, reactOptions)

  // Switch to custom html plugin.
  neutrino.use(html, options.html)

  // Add more environment variables.
  neutrino.use(env, options)

  // Write stats files when building.
  neutrino.use(stats)

  // prettier-ignore
  neutrino.config
    // Webpack Hot Server Middleware expects a MultiConfiguration with "server" and "client" names.
    .set('name', isServer ? 'server' : 'client')

    // Remove devServer. We use webpack-dev-middleware for SSR support.
    .devServer.clear().end()

    // Neutrino defaults to relative paths './'. Tux is optimized for SPAs, where absolute paths
    // are a better default.
    .output
      .publicPath('/')
      .end()

    // Fix svg imports: https://github.com/mozilla-neutrino/neutrino-dev/issues/272
    .module
      .rule('svg')
        .use('url')
          .loader(require.resolve('file-loader'))
          .options({ limit: 8192 })
          .end()
        .end()
      .end()

    // Add goodies from create-react-app project.
    .when(isDev, () => {
      neutrino.use(hot)
      neutrino.use(betterDev, options)
    })

  // Wait until all presets and middlewares have run before
  // adapting the config for SSR.
  if (isServer) {
    neutrino.on('prerun', () => neutrino.use(ssr, options))
  }
}
開發者ID:aranja,項目名稱:tux,代碼行數:78,代碼來源:index.ts

示例6:

 .when(sourceMap, () => neutrino.use(banner))
開發者ID:aranja,項目名稱:tux,代碼行數:1,代碼來源:ssr.ts

示例7:

 .when(isDev, () => {
   neutrino.use(hot)
   neutrino.use(betterDev, options)
 })
開發者ID:aranja,項目名稱:tux,代碼行數:4,代碼來源:index.ts


注:本文中的neutrino.Neutrino類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。