javascript- ReferenceError:未定义require

时间:2018-03-23 07:05:56

标签: javascript typescript webpack

我正在尝试使用Webpack捆绑和运行TypeScript项目。 其中一个TypeScript文件需要和外部节点相关。 Webpack捆绑文件没有问题,但是当我尝试在浏览器上运行它时,它会给我以下错误。

Error message

webpack.config.js

const path = require('path');
const nodeExternals = require('webpack-node-externals');

module.exports = {
  entry: './src/index.ts',
  resolve: {
    extensions: [
      '.js',
      '.jsx',
      '.json',
      '.ts',
      '.tsx'
    ]
  },
   externals: [nodeExternals()],
  output: {
    libraryTarget: 'commonjs',
    path: path.join(__dirname, '.webpack'),
    filename: '[name].js',
  },
  target: 'web',
  module: {
    loaders: [
      { test: /\.ts(x?)$/, loader: 'ts-loader' },
    ],
  },

};

外部节点依赖 aws-iot-device-sdk

有人可以帮我这个吗?

更新:发现TypeScript文件中的以下行导致问题。 有解决办法吗?

const client = new IoTClient(true, IoTClientOptions);

2 个答案:

答案 0 :(得分:1)

正在使用

require('path');

你必须下载RequireJS

Here

RequireJS是一个JavaScript文件和模块加载器。

或向项目添加http://requirejs.org/docs/release/2.2.0/minified/require.js

答案 1 :(得分:1)

以下Webpack配置解决了我的问题。

  add_column :privileges, :user_id, :integer, after: :no_site_access